私は長年の視聴者ですが、これは私の最初の質問なので、間違っていたら申し訳ありません.
リモート マシン上のすべてのフォルダとファイルを再帰的に削除する必要があり、特定のフォルダが削除されないようにしたいと考えています。
これらの除外されたフォルダーは、 というテキスト ファイルに一覧表示され、各行excludeDirectories.txt
に 1 つのフォルダー名があります。
私の最初の試みは、コマンド プロンプト コマンドとpsexec
. スクリプトを以下に示します。これらをバッチコマンドから実行していることに注意してください%%
。
net use r: \\machine\sharedFolderName
FOR /D %%a IN (R:\*.*) DO (
c:\pstools\psexec cmd /c rmdir /s /q R:\
)
このスクリプトはすべてを削除しますが、ループ内の現在のフォルダーのテキスト ファイルを確認し、テキスト ファイル内にFOR
ファイルが見つかった場合はループ内の次のフォルダーにスキップする方法がわかりません。
IF
私はこれに何日も費やしましたが、フォルダーをステートメントで使用できるものに読み取りpsexec
、一致が見つかったときに行から分岐するコードを機能させるのに苦労しました。
繰り返しますが、死んだ馬を打ち負かすために、私が達成しようとしていることは次のとおりです。
R:
ドライブ上のフォルダーを再帰的にループする- ループ内の各フォルダーをチェック
FOR
して、テキスト ファイル内にあるかどうかを確認します。 - ループ内の現在のフォルダーがテキスト ファイル内にある場合は、フォルダーを削除する行をスキップして、ループ
FOR
内の次のフォルダーに進みます。FOR
- パワーシェルが使えない
- 除外されたフォルダーをテキスト ファイルに保存する必要があります