- ベストアンサー
ファイルを別フォルダへ格納するには?
よろしくお願いします。 WindowsXPでのMS-DOSバッチについての質問です。 あるフォルダの中に多数のファイルがあります。 この多数のファイルのファイル名の中のキーワードを拾い、 AAAというキーワードを含むファイルであればAAAという フォルダにそのファイルを移動し、BBBというキーワードを 含むファイルであればBBBというフォルダにそのファイルを 移動する・・・ということを可能とするバッチは どのようにすれば作成できますか? どうぞよろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>ファイル名に空白(スペース)が含まれているとうまく動作しない なるほど、普段ファイル名にスペースを入れないので気が回りませんでした。 修正してみました。 ---------------------------------------------------------------- @echo off findstr /L /M "AAA" *.txt >filelist.dat IF %ERRORLEVEL% EQU 0 FOR /F "delims=" %%i in (filelist.dat) do move "%%i" AAA findstr /L /M "BBB" *.txt >filelist.dat IF %ERRORLEVEL% EQU 0 FOR /F "delims=" %%i in (filelist.dat) do move "%%i" BBB del filelist.dat
その他の回答 (3)
- toshi_2000
- ベストアンサー率30% (306/1002)
No.1です。 BSLスーパーバッチ/メニュは、フリーです。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
こんな感じで、 両方のキーワードが含まれている場合は、最初のマッチングで振り分けされてしまいますが。 ---------------------------------------------------------------- @echo off findstr /L /M "AAA" *.txt >filelist.dat IF %ERRORLEVEL% EQU 0 FOR /F %%i in (filelist.dat) do move %%i AAA findstr /L /M "BBB" *.txt >filelist.dat IF %ERRORLEVEL% EQU 0 FOR /F %%i in (filelist.dat) do move %%i BBB del filelist.dat
お礼
ご回答、ありがとうございます。 この場合、ファイル名に空白(スペース)が含まれていると うまく動作しないということはありますか? こちらではうまく動作しておりません。
- toshi_2000
- ベストアンサー率30% (306/1002)
標準機能では、できないようです。 バッチファイルの機能を拡張するBSLツールを使用すれば 出来るかも知れません。
お礼
ご回答、ありがとうございます。 BSLツールとは、フリーウェアでしょうか。 標準機能で検討しております。
お礼
ご回答、ありがとうございます。 試してみました。目的としていた動作をしました。 非常に助かりました。