特定の拡張子のファイルを別のディレクトリに移動させるバッチ

そもそもWindowsバッチ(ファイル)ってなに?

スクリプト」と言われればピンとくる方もおられるかと思いますが、Windows上で実行できるプログラムです。

環境構築が(たぶん)必要なく、メモ帳でポチポチ打ってダブルクリックで実行できる。そんな便利グッズです。

リファレンス(マニュアル)がほしい!

ググりゃ何でも出てくるこの時代に何を言う。

さらに言えばChatGPT御大にお伺いを立てれば答えが返ってくるであろう。

しかしそんな時代においても手でポチポチコードを書きたいという殊勝なやつもいるもんだ。

私が参考にしたサイトはこちら。

www.tohoho-web.com

そう。名高きとほほ様のサイト、そのバッチ版である。

htmlをポチポチ打っていたときからお世話になっているとほほ様のサイト。

とほほ様はいったいお幾つで?(失礼)

ありがとうございます。

特定の拡張子のファイルを別のディレクトリに移動させるバッチ

さて今回の本題です。

まずは作ったプログラムを。

@ECHO OFF
SET FROM=実行するディレクトリ
SET TO=移動先のディレクトリ

MOVE /Y %FROM%*.移動させたいファイルの拡張子 %TO%

最初はこんなもんでしょ。

"MOVE"がファイルを移動させるコマンドで、"/Y"が「移動先の既存のファイルを上書きする前に確認のメッセージを表示しない」という意味になります。

"%FROM%*.移動させたいファイルの拡張子"で実行するディレクトリの特定の拡張子のファイルを選択し、"%TO%"で移動先のディレクトリを指定している。という形です。

最初の"@ECHO OFF"は実行中のコマンドをコマンドプロンプトに表示させないようにするコマンドで、"SET ~~"は変数宣言です。

このバッチがどういうところで役立つかといえば、例えばデジカメから写真を取り込んだ際に、RAWファイルとJPEGファイルが同一フォルダに取り込まれて、それらを分けたいときに大いに役立ちます。

実際に使うときはこんな感じになります。

@ECHO OFF
SET FROM=C:\Pictures\imports
SET TO=C:\Pictures\raws

MOVE /Y %FROM%*.NEF %TO%

今日のところはこんなところで。