2017-04-02 11 views
0

私は繰り返し削除タスクをスクリプトする方法を探しています。我々は、トップレベルの名前を変更して繰り返し使用される標準のディレクトリテンプレートを持っています。ファイルを削除するために、これらのディレクトリのすべての名前付きフォルダを対象にしたいとします。など繰り返しディレクトリの場所に含まれるファイルを削除する

wxyz\TemporaryFiles 
acbd\TemporaryFiles 

私は次のことを試してみました:

for /d %%i in (X:\Company\Projects\*) do cd TemporaryFiles && del /f /s /q %%i\*.* 

私は私の構文が間違っている必要がありますし、いくつかの助けいただければ幸いです - 感謝を。

答えて

2

コードの主な問題は、一旦cdが実行されると、それが復帰しないので、残りのcd操作が間違った場所で実行されることです。

は、Projectsフォルダ内のフォルダごとに、フォルダに現在のアクティブディレクトリを変更している+サブフォルダTemporaryFilesを発見し、内部に何かを削除

for /d %%i in ("X:\Company\Projects\*") do (
    pushd "%%~fi\TemporaryFiles" && (
     rmdir . /s /q 
     popd 
    ) 
) 

で試してみてください。一度行われ、ディレクトリの変更を元に戻して、次のフォルダ

1

シンプルに進みますいくつかのディレクトリがTemporaryFilesフォルダを持っていない場合は

for /d %%i in ("X:\Company\Projects\*") do del /f /s /q "%%i\TemporaryFiles\*.*" 

、エラーメッセージが表示されます。あなたは最後に2>nul部分を含むそのようなメッセージを抑圧するかもしれません。

関連する問題