C:\上のacad.lspのすべてのインスタンスを削除します

batch-file exception
C:\上のacad.lspのすべてのインスタンスを削除します

次のコードを使用して、C:\ドライブで見つかったAcad.lspのすべてのインスタンスを削除していますが、1つの例外、C:\ Autocad 2010 \ Supportを作成したいです。

どうすればこれを達成できますか?

del "C:\ICT\acad.lsp" /q /a /s

  0  1


ベストアンサー

コマンドラインから、バッチファイルの「for」コマンドを使用できます(ここでは、Windowsコマンドプロンプトなどを使用していると仮定しています)。 これは、一連の「モノ」をループできる強力なコマンドです。正しいオプションを使用すると、これらの「モノ」はファイルになります。

次のコマンドを `C:\ ICT`ディレクトリで実行すると、あなたが望むことをするはずです:

for /F "usebackq" %a in (`dir /s /b acad.lsp ^| find /v "C:\Autocad 2010\Support"`) do @echo %a

ここで「@echo」を使用しているため、「@ echo」を「del」に変更する前に、結果が期待どおりであることをテストできます。

これをバッチファイルに入れたい場合は、 %a`を %% a`に変更する必要があります。

何が起こっているかについての簡単な説明:

for / F" usebackq "%a in(…​)`は、逆引用符の間にあるコマンドを実行し、結果の各アイテムで `do`に続くコマンドを実行します。 上記の私の例のコマンドは、ファイル `acad.lsp`に対して再帰的な dir`を実行し、それを `find`コマンドに通して、保持したいものを削除します。 残りのファイルは、削除するファイルです。

1


タイトルとURLをコピーしました