我想创建一个批处理文件,检查子文件夹是否存在,它不会创建它

时间:2017-02-10 17:26:08

标签: batch-file

我需要创建一个批处理文件,看文件夹中是否存在“模板”,“C:\ UserName \ AppData \ Roaming \ Microsoft \ Templates”它应该通过“C”中的每个用户名来查看:\ users“文件夹。如果“Templates”文件夹不存在,则应创建它。我在下面有命令,但它不会在所有C:\ users中创建此文件夹。

    FOR /d %%G IN (*.*) DO (IF NOT EXIST TEMPLATES\ (md templates C:\users\%%G\appdata\roaming\microsoft\))

3 个答案:

答案 0 :(得分:0)

编辑:

for /d %%g in ("C:\users\*") do (
    md "%%~g\Appdata\Roaming\Microsoft\Templates" >nul 2>&1
)

答案 1 :(得分:0)

@echo off
cd "C:\Users"
for /d %%a in (*) do (
if not exist "%%a\AppData\Roaming\Microsoft\Templates" md "%%a\AppData\Roaming\Microsoft\Templates"
)

并验证您是否还具有管理员权限...

答案 2 :(得分:0)

md /?:你有两个参数,所以你创建了两个目录。一个(templates)位于您的工作目录中,另一个位于用户的文件夹中。

您不需要检查,如果文件夹存在,md只会创建一条错误消息,如果有,您可以轻松地重定向到必杀技:

FOR /d %%G IN ("C:\USERS\*") DO (mkdir "%%G\appdata\roaming\microsoft\template" 2>nul)