1

バッチの経験はほとんどありませんが、Windows 64のフォルダーとそのサブフォルダーから、名前に特定の文字を含むすべてのファイルを削除するスクリプトが必要になりました。

del "C:\TEST\TEST2\*.TXT"

しかし、必要なフィルタリングを実行する方法がわかりません。誰かがバッチを使用してこれを達成するのを手伝ってくれますか?

より正確に編集すると、問題は「バッチにサブフォルダーを含めるように指示する方法」です。

4

2 に答える 2

7

/sスイッチは、かなりの数のコマンド (を含むdel)に存在します。

del /s "C:\TEST\TEST2\*.TXT"

のヘルプにdel /?は次のように書かれています。

/S            Delete specified files from all subdirectories.
于 2013-04-22T10:53:24.950 に答える
3

これを試して:

@echo off & setlocal
set "MySearchString=X"
for /f "delims=" %%i in ('dir /b /s /a-d ^| findstr /i "%MySearchString%"') do echo del "%%~i"

出力に問題がなければ、コマンドMySearchStringを検索して削除する文字または文字列を変数に設定します。echo

MySearchStringファイル名のみに を指定することもできます。

@echo off & setlocal
set "MySearchString=T"
for /r %%a in (*) do for /f "delims=" %%i in ('echo("%%~na" ^| findstr /i "%MySearchString%"') do echo del "%%~fa"
于 2013-04-22T10:51:08.487 に答える