0

ディレクトリ内のすべてのフォルダーを調べて、1 つを除くすべてのフォルダーを削除する次のコマンドがあります。

FOR /D %i IN ("Directory\*") DO IF /I NOT "%i" == "FolderToKeep" RD /S/Q "%i"

今では、1 つではなく 2 つの特定のフォルダーを保持する必要があります。最初は単純な OR ロジックを比較に追加するだけだと思っていましたが、バッチは OR や AND などの論理演算子をサポートしていないようです。では、これを達成する最善の方法は何ですか?OR コマンドが存在しない場合、変数がリストに含まれているかどうかをテストできる機能があるのではないでしょうか? もしかしてこういうこと?

FOR /D %i IN ("Directory\*") DO IF /I NOT "%i" IN "FolderToKeep","FolderToKeep2" RD /S/Q "%i"

私はバッチコーディングに慣れていないので、これが些細なことに思えたらすみません。

4

3 に答える 3

5

IFネストされたsで試してください

FOR /D %i IN ("Directory\*") DO (
   IF /I NOT "%i" == "FolderToKeep" (
      IF /I NOT "%i" == "FolderToKeep2" RD /S/Q "%i"
   )
)
于 2013-06-20T08:10:22.397 に答える