Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 我想创建一个批处理文件,检查是否存在子文件夹,但它不创建它_Batch File - Fatal编程技术网

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

Batch file 我想创建一个批处理文件,检查是否存在子文件夹,但它不创建它,batch-file,Batch File,我需要创建一个批处理文件,以查看文件夹“Templates”是否存在于文件夹“C:\UserName\AppData\Roaming\Microsoft\Templates”中。它应该遍历“C:\users”文件夹中的每个用户名。如果“模板”文件夹不存在,它应该创建它。我有下面的命令,但它不会在所有C:\users中创建此文件夹 FOR /d %%G IN (*.*) DO (IF NOT EXIST TEMPLATES\ (md templates C:\users\%%G\appda

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

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

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

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

md/?
:您有两个参数,因此创建了两个目录。一个(
模板
)在工作目录中,另一个在用户文件夹中

您无需检查,如果文件夹存在,
md
只会创建一条错误消息,如果它存在,您可以轻松重定向到nirvana:

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

“如果当前用户没有
模板
,则为所有用户创建模板”-可能没有,这是需要的。@Stephan Oh。我想我误解了他的密码。我来修理。感谢您指出这一点。您不需要在%%G之前加上“C:\users”,因为变量%%G已经包含该数据。
FOR /d %%G IN ("C:\USERS\*") DO (mkdir "%%G\appdata\roaming\microsoft\template" 2>nul)