[解決済み] バッチファイルを使用して、特定のタイプ(拡張子)のファイルをディレクトリの下に再帰的にすべて削除します。
質問
dir1 と dir2 にあるすべての .jpg と .txt ファイル(例)を削除する必要があります。
私が試したのは
@echo off
FOR %%p IN (C:\testFolder D:\testFolder) DO FOR %%t IN (*.jpg *.txt) DO del /s %%p\%%t
あるディレクトリではうまくいき、他のディレクトリではうまくいきませんでした。
たとえば、これは何もしませんでした。
@echo off
FOR %%p IN (C:\Users\vexe\Pictures\sample) DO FOR %%t IN (*.jpg) DO del /s %%p\%%t
2番目のスニペットで何が足りなかったのでしょうか?なぜうまくいかなかったのでしょうか?
どのように解決するのですか?
ワイルドカードを使用するには
del
コマンドと
/S
で再帰的に実行します。
del /S *.jpg
追記
@BmyGuest は、なぜダウンボートされた回答 (
del /s c:\*.blaawbg
) が私の回答と異なる理由を尋ねました。
がありますね。
巨大な
を実行するのと
del /S *.jpg
と
del /S C:\*.jpg
. 最初のコマンドは実行されます
を現在の位置から
を実行するのに対し、2つ目のコマンドは
をドライブ全体
.
を削除するシナリオでは
jpg
ファイルを削除するシナリオでは、一部のアプリケーションが動作しなくなり、家族の写真をすべて失うことになるかもしれません。これはまったく迷惑な話ですが、コンピューターはまだ実行可能です。
しかし、何らかのプロジェクトで作業しているときに、すべての
dll
にあるすべてのファイルを削除したい場合
myProject\dll
にあるファイルを削除し、以下のバッチファイルを実行します。
@echo off
REM This short script will only remove dlls from my project... or will it?
cd \myProject\dll
del /S /Q C:\*.dll
そして、最終的にすべての
dll
ファイルを削除してしまいます。
C:\
ドライブを形成します。すべてのアプリケーションは動作を停止し、コンピューターは使い物にならなくなり、次の再起動時に 4 次元へテレポートされ、そこで永遠に身動きが取れなくなります。
ここでの教訓は、このようなコマンドをドライブのルートで直接実行しないことです (または、次のような危険な場所でも実行できます)。
%windir%
のような危険な場所) で実行しないことです。常に可能な限りローカルで実行することです。
補遺2
ワイルドカード方式は、8.3 形式と "long name" 形式のすべてのファイル名と一致させようとします。たとえば
*.dll
は
project.dll
と
project.dllold
というように、意外と知られていないことがあります。参照
に関するこの回答は、SU
をご覧ください。
関連
-
[解決済み] N日以上前のファイルを削除するバッチファイル
-
[解決済み] バッチファイルにおけるカレントディレクトリとは何ですか?
-
[解決済み] バッチファイルでの変数の定義と使用
-
[解決済み] ディレクトリ内の全ファイルをforループで反復処理する。
-
[解決済み】Windowsのコマンドプロンプトで特定のディレクトリにあるファイル/サブフォルダを削除する方法
-
[解決済み】MSバッチファイルを使用して、プログラムの出力を変数に割り当てる
-
[解決済み】DOSバッチでの論理演算子("and"、"or")について
-
[解決済み】バッチスクリプトでディレクトリ内の各ファイルに対して何かを行う方法
-
[解決済み] バッチファイルです。ディレクトリ内の全ファイル、フォルダを削除する
-
[解決済み] 複数のDOSコマンドを並列に実行するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] psexec はエラーコード 1 - 二重引用符で終了しました。
-
[解決済み] cmdを使ったファイルの移動は? [終了しました]
-
[解決済み] ls' は、内部または外部のコマンド、操作可能なプログラム、またはバッチファイルとして認識されません。
-
[解決済み] WindowsのCMDで1行に2つのコマンドを実行するにはどうしたらいいですか?
-
[解決済み] 1つの.BATファイル内で複数の.BATファイルを実行する方法
-
[解決済み] cURLの出力をファイルに取り込むには?
-
[解決済み】バッチファイルから空のテキストファイルを作成する方法は?
-
[解決済み] バッチスクリプトで待つには?[重複しています]
-
[解決済み] DOSバッチファイルでの複数行コメント
-
[解決済み] npm install コマンドで .bat ファイルを作成する