簡単なバッチファイルを書く ファイル移動

おはようございます。すぎやまです。

この記事では、バッチファイルを使用してファイルを移動する方法を紹介します。

まず、結論を記載します。

バッチファイルでファイル移動

  • ファイル移動は「move」コマンドを使用
  • ファイル情報を取得→ファイルを移動

代表例のコードは下記です。
使用方法はこちらの記事をご覧ください。

@echo off
setlocal enabledelayedexpansion

REM フォルダ内の指定した形式のファイルを取得するバッチファイル

REM フォルダパスを設定(カレントディレクトリ)
set "folder=%cd%"

REM 形式を入力
set /p "fileFormat=ファイルの形式を入力後、エンターキーを入力してください(例: xlsx,docx,txt,csv ...): "

REM まとめる先のフォルダ
set "destination_folder=%cd%/%fileFormat%"

REM フォルダが存在しなければ作成する
if not exist "%destination_folder%" mkdir "%destination_folder%"

REM 指定した拡張子のファイルを移動
for %%i in ("%folder%\*%fileFormat%") do (
    move "%%i" "%destination_folder%"
)

echo "ファイルの移動が完了しました。"
pause

下記、詳細を説明します。

使用するコマンド

前述の通り、「move」コマンドを使用します。

文法機能
move[ファイルのパス] [保存先][ファイルのパス]で指定したファイルを[保存先]に保存する

詳細はこちらのサイトをご覧ください。

特定のファイルのみファイル移動

@echo off
setlocal enabledelayedexpansion

REM フォルダ内の指定した形式のファイルを取得するバッチファイル

REM フォルダパスを設定(カレントディレクトリ)
set "folder=%cd%"

REM 形式を入力
set /p "fileFormat=ファイルの形式を入力後、エンターキーを入力してください(例: xlsx,docx,txt,csv ...): "

REM まとめる先のフォルダ
set "destination_folder=%cd%/%fileFormat%"

REM フォルダが存在しなければ作成する
if not exist "%destination_folder%" mkdir "%destination_folder%"

REM 指定した拡張子のファイルを移動
for %%i in ("%folder%\*%fileFormat%") do (
    move "%%i" "%destination_folder%"
)

echo "ファイルの移動が完了しました。"
pause

こちらのコードでは、
ファイル情報を取得→ファイルを移動
という処理をしています。

使用方法はこちらの記事をご覧ください。

その他のバッチファイル

今回はファイル移動に焦点を当てましたが、
バッチファイルを使用するとその他の処理も行うことができます。

バッチファイルに可能なことを大まかに知りたい方はこちらの記事を、
実際に使用できるコードを知りたい方はこちらの記事を参照ください。

以上、最後まで読んでくださりありがとうございました。

タイトルとURLをコピーしました