2017-02-10 91 views
0

我需要創建一個批處理文件來查看文件夾「Templates」是否存在於文件夾「C:\ UserName \ AppData \ Roaming \ Microsoft \ Templates「它應該通過」C:\ users「文件夾中的每個用戶名。如果「模板」文件夾不存在,它應該創建它。我有下面的命令,但它不會在所有C:\用戶中創建此文件夾。我想創建一個批處理文件來檢查子文件夾是否存在,它不會創建它

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

回答

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" 
) 

,並驗證是否具有管理員權限,也...

+0

這工作。謝謝。 – KentE

0

編輯:

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

「如果沒有'模板'爲當前用戶,然後爲所有用戶創建它「 - 可能不是,想要什麼。 – Stephan

+0

@Stephan哦。我想我誤解了他的代碼。我會解決的。謝謝你指出。 –

0

md /?:你有兩個參數,所以您將創建兩個目錄。一個(templates)在您的工作目錄中,另一個在用戶的文件夾中。

你並不需要檢查,如果該文件夾存在,md將只是創建一個錯誤信息,如果這樣做,您可以輕鬆地重定向到必殺技:

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

因爲變量%% G已包含該數據,所以在%% G之前不需要「C:\ users」。 –

+0

對 - 謝謝你,@ACatNamedTiger – Stephan

相關問題