こんなことを知りたい人へ向けて書いています
- Windowsバッチファイルでファイルやフォルダを移動させる方法を知りたい方
- 「move」コマンドの使い方を詳しく知りたい方
目次
その他の関連しそうな記事
ファイルを別のフォルダに移動する
あるファイルを別のフォルダへ移動するには「move」コマンドを使用します。
1 |
move [対象ファイル名] [移動先フォルダ名] |
「move」コマンドの第1引数には移動対象ファイルを、第2引数には移動先フォルダを指定します。
例えば、現在いるフォルダに「file.txt」というファイルがあったとして、これを「temp」フォルダへ移動するには、
1 |
move file.txt .\temp\ |
となります。※「\」は「\」に置き換えて下さい。以下は実行例です。
「1個のファイルを移動しました。」とメッセージが表示されます。
また、ファイルの名前を「file2.txt」と変えて移動する場合には、
1 |
move file.txt .\temp\file2.txt |
と移動先にファイル名を指定します。これで、ファイル名の変更とファイルの移動が同時に行えるということです。
複数のファイルを一度に移動したい場合は、ワイルドカード「*」が利用でき、拡張子が「txt」であるファイルすべてを「temp」フォルダに移動するには、
1 |
move *.txt .\temp\ |
のようになります。実行するとコマンドプロンプトには、移動したファイルの一覧が表示されます(下図)。
この例では、「file.txt」、「file2.txt」、「file3.txt」の3つのファイルが移動しました。
上書きの確認メッセージを表示しない
「move」コマンドによってファイルを移動するとき、移動先のファイルが既に存在していたときは上書きするかどうかの確認メッセージが表示されます。
例えば、以下では「file.txt」ファイルを既に存在する「file2.txt」ファイルに移動しようとしています。
1 |
move file.txt .\temp\file2.txt |
実行時に表示される確認メッセージは次の通りです。
上書きする場合は「Yes」、移動を中止する場合は「No」、複数のファイルを移動しようとしている場合にすべてを上書きする場合は「All」を入力します。
この確認メッセージを表示させたくない場合、つまり強制的に上書きしたい場合は、「/y」オプションを使用します。
1 |
move /y file.txt .\temp\file2.txt |
これによって確認メッセージ無しで、強制的に上書きされるようになります。
実行時の確認メッセージが消えました。
フォルダごと別のフォルダに移動する
フォルダごと別のフォルダ内へ移動させることも可能です。
例えば、「temp」フォルダを「test」フォルダ内へ移動するには、
1 |
move .\temp .\test |
とします。これで、「temp」フォルダは「test」フォルダの下に移動しました。ただし、これは「test」フォルダが既に存在する場合の挙動になります。
【「temp」フォルダが「test」フォルダの下に移動】
testフォルダ
∟tempフォルダ
一方、「test」フォルダが存在しないときに上記と同じコマンドを実行すると、「temp」フォルダが「test」とフォルダ名が変わる挙動をします。
【「test」フォルダの名前が「temp」フォルダに変わる】
「test」フォルダ →「 temp」フォルダ
このように第2引数に指定したフォルダの存在有無によって挙動が変化することに注意する必要があります。
2つ目のフォルダ名が変更される場合の挙動は、「rename」コマンドを使ったフォルダ名の変更、
1 |
rename .\temp .\test |
とまったく同じ操作になります。「rename」コマンドについては、「rename(ファイル名・フォルダ名の変更) -コマンド別解説-」をご覧下さい。
フォルダ名の変更にはどちらを使ってもよいのですが、フォルダの存在有無によって挙動が変わる「move」コマンドは紛らわしいですので、名前の変更には「rename」コマンドを用いることをお勧めします。