バッチファイル(ファイル操作_1)

■特定のファイルを指定のフォルダへ移動させるバッチファイルを考えてみる。
Windowsのエクスプローラでファイルやフォルダ管理を行うと、指定のフォルダに同じ種類のファイルをまとめたいときがある。定期的な報告や議事録なんかあると思う。
フォルダへのショートカットを設定して、コピペ(Ctrl+C、Ctrl+V)でもいいけど、手動で動かす場合、どうしても誤るリスクがある。複数人が作業する場合なんかは特にそうなりそう。
そこで、特定のファイル名称を読み取って、指定のフォルダへ移動させるバッチファイルについて考えてみる。ここではWindows10を使う。

テストするフォルダ環境を下のバッチファイルで作る。
ここでmkdirでフォルダ作成、echo sample > "ファイルパス" でファイル作成を行っている。

echo off
mkdir .\Folder1\Subfolder1-1\
mkdir .\Folder1\Subfolder1-1\Subsubfolder1-1-1\
mkdir .\Folder1\Subfolder1-2\
mkdir .\Folder1\Subfolder1-2\Subsubfolder1-2-1\
mkdir .\Folder1\Subfolder1-2\Subsubfolder1-2-2\
mkdir .\Folder1\Subfolder1-3\
mkdir .\Folder1\Subfolder1-3\Subsubfolder1-3-1\Subsubsubfolder1-3-1-1\

echo sample > ".\Folder1\AAA_sampletext4.txt"
echo sample > ".\Folder1\Subfolder1-1\BBB_sampletext1-1.txt"
echo sample > ".\Folder1\Subfolder1-1\Subsubfolder1-1-1\AAA_sampletext1-1-1.txt"
echo sample > ".\Folder1\Subfolder1-2\BBB_sampletext1-2.txt"
echo sample > ".\Folder1\Subfolder1-2\Subsubfolder1-2-2\AAA_sampletext1-2-2.txt"
echo sample > ".\Folder1\Subfolder1-2\Subsubfolder1-2-2\BBB_sampletext1-2-2_2.txt"
echo sample > ".\Folder1\Subfolder1-2\Subsubfolder1-2-2\CCC_sampletext1-2-2_3.txt"
echo sample > ".\Folder1\Subfolder1-3\BBB_sampletext1-3.txt"
echo sample > ".\Folder1\Subfolder1-3\AAA_sampletext1-3_2.txt"
echo sample > ".\Folder1\Subfolder1-3\AAA_sampletext1-3_3.txt"
echo sample > ".\Folder1\Subfolder1-3\Subsubfolder1-3-1\Subsubsubfolder1-3-1-1\AAA_sampletext1-3-1-1_1.txt"




上のバッチファイルを実行した後、「Tree /F /A」のコマンドを実行すると下のように表示され、フォルダ、ファイルができていることが分かる。

このフォルダの構成で、頭にAAAがついているものを指定フォルダへ移動させてみる。
dirやtreeで該当するファイル名を検索し、対象を限定した後、moveで移動させる感じだろうけど、少し考えてみる。