• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:英数11桁のファイルを消したい。)

英数11桁のファイル削除方法

このQ&Aのポイント
  • 特定のファイルを除き、英数11桁の画像ファイルを削除する方法についてご教授ください。
  • ファイル削除のスクリプトで英数11桁のファイルを対象に除外処理を追加できますか?
  • ディレクトリ内の英数11桁のファイルのみを削除するためには、どのような方法を使うのが良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ky072
  • ベストアンサー率60% (85/140)
回答No.1

■案1 削除対象外のファイルの属性を変更する。 例えば、読み取り専用にしたり、隠しファイルにする。 その上で、属性を指定して一括削除。 ATTRIB +R nowprinting.* DEL /A:-R * ■案2 一時ファイルで削除対象ファイルを管理。 FINDSTR で対象ファイルを抽出してから削除する。 DIR /B > %TEMP%\target0.tmp FINDSTR /R /I /X /C:"^[0-9a-z][0-9a-z][0-9a-z][0-9a-z] [0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z] [0-9a-z][0-9a-z]\..*" %TEMP%\target0.tmp > %TEMP%\target1.tmp FINDSTR /R /V /C:"^nowprinting\." %TEMP%\target1.tmp > %TEMP%\target2.tmp FOR /F %%f IN ('type %TEMP%\target2.tmp') DO DEL %%f

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

・この作業をする頻度は? ・BATでないとだめな理由は? 例えば、数回しかやらないのなら、あれこれ考えている間に手動で削除した方が早いです。 例えば、VBScriptを使えばもっと簡単にできるのではないでしょうか。

ginfix
質問者

補足

質問に対して欲しいのは「回答」であって、質問じゃないんですけど。 「Aでなんとかしたい」と質問しているのに「Bなら楽だ」とか 頓珍漢な回答しかできないなら、黙っていてください。

すると、全ての回答が全文表示されます。
回答No.3

こういうのはどうでしょう? if %1:~0,11% == %1:~0,-4% DEL %1 「先頭から11文字」と「後ろの4文字以外」が一致するかどうか判定します。 つまり「拡張子を除くファイル名が11文字」に等しいわけです。 ちなみに上記の記法についてはSETのヘルプに記載されています。

すると、全ての回答が全文表示されます。
回答No.2

1、何がどう「うまくいかない」のかを書く 2、「その特定のファイル」は「nowprinting」でいいのか 3、「英数11文字のファイルの削除」はできているのか こういうことはちゃんと記載してもらわないと。 とりあえず特定の文字列を含むファイルを省くには最初のFORにFオプションをつけてfindを使えば早いと思います。 for %%f in ( * ) do call :sub "%%f" ↓ FOR /F "delims=" %%F IN ('dir /b ^| find "nowprinting"') do ~

ginfix
質問者

補足

nowprinting.jpgとnowprinting.gifを除いたファイルを削除できている状態です。 11桁のチェックは入っていないので、ファイル名が11桁以外でも削除してしまうので、そのチェックを入れたいのですが。

すると、全ての回答が全文表示されます。

関連するQ&A