batファイルでファイル移動する場合のやり方を今回行います。
また移動先に同じファイル名があった時の対処法なども、現役エンジニアの筆者が一緒に伝えます。
moveコマンドを使用しますが、moveコマンドを使用する時の注意点などもあります。
この記事でbatのファイル移動が良くわかるようになります。
windowsのプロンプトで使用できるbatやpythonやphpを使用して、業務効率化やWebサイトを作成しております。javaやシェルスクリプトなど、様々なプログラミングを行った実績ありの筆者です。
batでファイル移動するやり方
batでファイル移動するやり方は「move」コマンドを使用して以下のようにします。
move 移動元ファイル名 移動先ファイル名
移動先で同じファイル名があった場合、上書き確認を行わない場合は以下のオプションをつけます。
move /y 移動元ファイル名 移動先ファイル名
上書きする前に確認を挟む場合は以下のようにします。
move /-y 移動元ファイル名 移動先ファイル名
ファイル移動コマンドmoveでファイル名を変更する方法
ファイル名を変更する事も可能です。
move 移動元ファイル名 移動先ファイル名
基本はmoveの基礎と同じですが「移動先ファイル名」を変更したいファイル名に変えれば名前を変更できます。
ファイル移動する時の注意点
moveでファイル移動する時の注意点をまとめます。
ファイル移動対象がシンボリックリンクだった場合の挙動
ファイル移動の対象がシンボリックリンクだった場合は、ファイル本体ではなくリンクの方が移動されます。
ファイル移動対象が暗号化されたものだった場合
暗号化されたファイルを移動しようとした時の注意点ですが、移動先のディスクが暗号化をサポートしていないファイルシステムだとエラーが発生してしまいます。
対処法としては、複合化してから移動させるなどがあります。
移動先のファイルシステムが暗号化に対応しているか確認しておきましょう!
実践:batでファイル移動などを行う
では実際にbatでファイル移動してみます。
ファイル移動の基礎を実践する
以下のコードのbatがあるフォルダに「ファイル1.txt」と「sub_dir」フォルダを作成します。
@echo off
move ファイル1.txt sub_dir\ファイル1.txt
pause
このbatを実行します。
1 個のファイルを移動しました。
続行するには何かキーを押してください . . .
batがあるフォルダの「ファイル1.txt」が「sub_dir」フォルダ配下に移動されました。
ファイル移動で上書きするか確認する
では次は以下のコードのbatファイルを作成します。
@echo off
echo ファイルを作成します。
echo > ファイル1.txt
pause
move /-y ファイル1.txt sub_dir\ファイル1.txt
pause
先程「ファイル1.txt」を移動してしまったので、もう一度「echo > ファイル名」でファイルを作成しています。
その上で今度はmoveコマンドに「/-y」オプションをつけて実行します。先程移動した同じファイルがありますので上書き確認が表示されるか確認します。
ファイルを作成します。
続行するには何かキーを押してください . . .
C:\script\bat\20_ファイル移動\sub_dir\ファイル1.txt を上書きしますか? (Yes/No/All): y
1 個のファイルを移動しました。
続行するには何かキーを押してください . . .
ファイル作成されています。3行目で上書きするか確認が表示されています。上書きするので「y」と入力しています。
移動しましたの文字が表示されて、移動が成功しています。
ファイル移動でファイル名を変更する
ではmoveでファイル名を変更します。
先程と同じ様にまた「ファイル1.txt」を作成します。その上でそのファイル名を「ファイル1_名前変更」という名前に変更します。
@echo off
echo ファイルを作成します。
echo > ファイル1.txt
pause
move ファイル1.txt ファイル1_名前変更.txt
pause
上のコードのbatを実行します。
「ファイル1.txt」が作成されて、そのファイル名が「ファイル1_名前変更」になりました。
renameコマンドでも良いですが、moveでも可能なので覚えておきましょう!