パソコン・スマホ

たった1文!バッチファイルでファイルを移動するには?

たった1文!バッチファイルでファイルを移動するには?
Pythonを勉強してからというもの、過去のプログラムを考え直すことが多くなりました。
今日も詰将棋動画を作りながら、自動化しているコードをちらっと見ています。

そうすると、思いつくものですね。
画像を圧縮したあと、そのファイルを移動させているのですが、現在手動でやっています。
これを自動化できないか?
画像圧縮はバッチファイルでやっているので、それに追記する形が理想です。

調べてみると、1文で書けるとのこと。その方法をまとめます。

 

バッチファイルでファイルを移動するには?

moveコマンドを使います。
基本構文は次の通り。

move [オプション] 移動元のファイルパス 移動先のファイルパス

移動したいファイルと移動先を指定し、必要に応じてオプションを付ければ良いです。
 

オプションは何があるの?

移動先に同じ名前のファイルがある場合、確認するか?しないか?が選べます。
デフォルトは「確認する」で、しない場合は「/Y」と、記述します。

 

具体例は?

 

単純にファイルを移動する

Dドライブ直下に保存してある「a.txt」を、Dドライブの「test」フォルダに移動するコードです。

move D:\a.txt D:\test\a.txt

ここではフルパスで記述していますが、「ディレクトリ」の知識があるなら相対パスでも可能です。

 

ファイル名を変更しながら移動する

Dドライブ直下に保存してある「a.txt」をファイル名「b.txt」に変更しつつ、Dドライブの「test」フォルダに移動するコードです。

move D:\a.txt D:\test\b.txt

 

移動先に同じ名前のファイルがあっても、確認なしで上書きしたい場合

上書きの確認が必要なければ、オプションに「/Y」を追加します。

move /Y D:\a.txt D:\test\a.txt

 

拡張子が一致するファイルすべてを移動する

ワイルドカードが使えるので、例えば「*.txt」を指定すると、テキストファイルすべてを移動させることができます。
ちなみに、「*(アスタリスク)」だけだと、フォルダ内にあるすべてのファイルが対象になります。

move D:\*.txt D:\test

 

注意:名前に日本語が使われているファイルを移動させたいとき

バッチファイルの文字コードを「Shift_JIS」で保存します。
「UTF-8」で保存している場合、コードが走りません。

 

まとめ

バッチファイルでファイルを移動するには、moveコマンドを使います。
移動の際にリネームもできてしまうのは知りませんでした。
詰将棋動画以外で「名前を変えてファイル移動する作業」があるので、それも自動化できると思うと嬉しいです。

-パソコン・スマホ
-, , , , , , , , , , , ,

© 2022 オン香講師の将棋教室以外の話