2017-02-10 5 views
0

バッチファイルを作成して、フォルダに "Templates"フォルダが存在するかどうかを確認する必要があります。 "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\)) 

答えて

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 Oh。私は彼のコードを誤解していたと思う。私は修正します。それを指摘していただきありがとうございます。 –

0

md /?を確認:あなたは二つの引数を持っているので、あなたは、2つのディレクトリを作成します。作業ディレクトリに1つ(templates)、ユーザーのフォルダにもう1つ

フォルダが存在する場合は、あなたが簡単に涅槃にリダイレクトすることができた、それがない場合mdだけで、エラーメッセージが作成され、チェックする必要はありません。

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

変数%% Gに既にそのデータが含まれているので、%% Gの前に "C:\ users"は必要ありません。 –

+0

right - ありがとう、@ ACatNamedTiger – Stephan

関連する問題