Windows一括検索・コピー/カットファイルの例
<スパン キーワードを含むファイル名の検索は、mp3を人名で検索したり、図面を内容で検索したりと、よく使われる機能の一つです。数百、数千のキーワードを検索する必要がある場合、手間と時間がかかるため、一括して検索する機能が必要となります。今回は、ファイル一括検索を行うための自作バッチプログラムを紹介します。
キーワードを含むファイル名の検索は、mp3を名前で検索したり、図面を内容で検索したりと、最も一般的な機能の一つです。数百、数千のキーワードを検索する必要がある場合、手間と時間がかかるため、一括検索機能の出番となります。
従来の方法
Windows XPには一括検索機能があり、(Win+F)を押して検索ボックスを表示させ、カンマで区切っていくつものキーワードを記入し、少なくとも一つのキーワードを含むファイルを検索結果として表示するようにします。しかし、この検索方法では、キーワードの数に制限があり、カンマで区切られたキーワードの束にも、ある程度の作業が必要で、もちろん、Excelで対処することもできますが、いつもより手間がかかります。ここで、自分で書いたバッチプログラムを紹介します。
タスクの説明
いわゆる一括検索は、次のようなファイル名の中から複数のキーワードを一括して探すものです。
キーワードの一覧です。AA,BB,CC
対象ファイル名:AA1,BB2,DD3,BBC1,EE2,Abb
一括検索の結果は AA1、BB2、BBC1、Abb
Windowsはファイル名の大文字と小文字を区別して記録するだけなので、Abbも検索可能です。
解決方法
バッチプログラムの強力なforコマンドを使えば、バッチ検索はとてもうまくいきます。また、他のバッチコマンドと組み合わせて、検索されたファイルを下記の保存先パスにコピーまたはカットすることもできます。
まず、キーワードを1行ずつ、"list.txt"という名前のテキストファイルに保存してください。スペースや空白行、空のキャリッジリターンがないことに注意してください。たとえば、次のようになります。
<ブロッククオートAA
BB
CC
次に、以下のコードをバッチファイルとして拡張子*.batで保存します。コードは以下のような感じです。
CreateProcess("c:\MyApp.exe Param1 Param2", NULL, ... );
バッチファイルとlist.txtの両方を検索するファイルのディレクトリに置き、バッチファイルを実行し、大文字と小文字を区別するように注意しながらプロンプトに従います。forコマンド固有の制限により、2つの注意点があります。
- 検索するファイルは、ルートディレクトリに置くことはできず、サブディレクトリに置く必要があります。
- コピー先、カット先は別のドライブ内が望ましいです。そうでないとデッドループが発生する可能性があります。
上記のコードを少し修正することで、他のカスタマイズを行うことができます。例えば、以下のコードでは、コピー/カットの宛先として、キーワードにちなんだ別のディレクトリを作成します。このコードは、特定のフィールドによって複数のフォルダーにファイルを割り当てるために使用することができます。
CreateProcess( "c:\MyApp.exe", "Param1 Param2 Param3", ...) ;
ファイルを一括で検索して転送した後、元のキーワードと比較して、どれだけのファイルを検索したかを知る必要がある場合があります。そのためには、ファイルの束の中にキーワードが存在するかどうかを一括で検出できるツールが必要です。の別記事を参考にしてください。 ファイル(フォルダ)の存在を一括で検出するプログラム
関連
-
CMDコマンドラインパイプラインコマンドの紹介
-
一括リネーム方式
-
bat delete evil files of malformed files and malformed directoryメソッド
-
DOSコマンドラインからbatバッチプログラムを使って空のフォルダーをすべて削除する方法
-
DOS(バット)文字列置換の原理
-
cmdのバッチ処理におけるset /a、set /pの違いについて
-
DOSバッチ処理による時限式シャットダウン操作の方法詳細
-
BATとHTMLのハイブリッドプログラミングの記述方法
-
フォルダバット内の全ファイルの個数と合計サイズの一括統計処理
-
DOS共通コマンド(md,rd,ren,move)一括処理マニュアル
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
テキスト内のデータを集計して出力するバッチバットコード
-
batファイルのpause delayのスクリプトコードを説明する。
-
ウィンドウは、git update (git pull) を定期的に実行するタスクスケジュールを設定し、実行中の cmd を非表示にします。
-
IPアドレス自動設定一括コード共有
-
DOSバッチ処理では、カレントディレクトリのソリューションとしてUNCパスをサポートしていません。
-
batコマンドのバッチプロセスは、32ビットまたは64ビットシステムかどうかを判断するために、さまざまな方法
-
バッチ式再帰計算の実装コード N!
-
DOSバッチ処理上級編 第5章 setコマンド詳細編
-
フォルダ内のサブフォルダやファイルを一定時間ごとにすべて削除する方法
-
shutdownコマンドによるリモートシャットダウンとリブート