Amazonで商品を見るセール会場へ

Windowsバッチ│よく使うバッチファイルまとめ

Windowsバッチのファイル操作は、パスを二重引用符で囲み、処理する場所を決めてから実行します。

ここではBATの隣に練習用の出力だけを作り、その中で名前変更・移動・コピーを試します。

目次

名前変更・移動・コピーをまとめて試す

ファイル操作・一覧出力の練習用データとスクリプト(ZIP)

ZIPは新しい空のフォルダーへ展開し、元データや既存の出力を含む場所へ重ねて展開しないでください。

  1. ZIPのbasic.batをメモ帳で開いて内容を確認する
  2. ZIPを展開したフォルダーでコマンドプロンプトを開き、basic.batを実行する
  3. practice-outputの保管、コピー.txt、フォルダーコピーの内容を確認する
@echo off
setlocal DisableDelayedExpansion
chcp 65001 >nul
pushd "%~dp0" || exit /b 1
if exist "practice-output" exit /b 1
md "practice-output" || exit /b 1
echo practice>"practice-output\元 資料 ! & [x].txt"
ren "practice-output\元 資料 ! & [x].txt" "名前変更.txt" || exit /b 1
md "practice-output\保管" || exit /b 1
move /-Y "practice-output\名前変更.txt" "practice-output\保管\名前変更.txt" || exit /b 1
copy /-Y "practice-output\保管\名前変更.txt" "practice-output\コピー.txt" || exit /b 1
xcopy "practice-output\保管" "practice-output\フォルダーコピー\" /E /I || exit /b 1
dir /s /b /a-d "practice-output"
popd

コードを貼り付けて保存する場合は、UTF-8(BOMなし)のbasic.batにします。

renの第2引数は変更後のファイル名で、移動先のフルパスではありません。

moveは練習で作った1ファイルだけを保管へ移し、copyとxcopyはコピーを作ります。

/-Yは既存ファイルへ上書きする際に確認する指定で、xcopyには確認を省く/Yを付けていません。

practice-outputがすでにある場合は最初に停止し、前回の結果を上書きしません。

空白・日本語・記号があるパス

空白や&があるパスは二重引用符で囲み、!を保持するため遅延展開を無効にします。

mdはフォルダー作成、pushdは現在の作業場所を保存して移動するコマンドです。

BAT自身の場所は"%~dp0"、送るメニューで渡された対象は"%~1"として扱います。

対象がファイルかフォルダーかを判定する「送る」用の例は、画像名を取得する記事に掲載しています。

UNC共有先の実行は権限やネットワーク状態にも依存し、今回のローカル検証には含めていません。

削除コマンドの対象と戻し方

delはファイルを削除するコマンドで、フォルダーそのものを消すコマンドではありません。

rmdirはフォルダーを削除し、/sを付けると中のファイルと下位フォルダーも対象になります。

旧版の一括削除例は対象の取り違えで復旧できないため、この練習から外しました。

練習結果を片付ける場合はエクスプローラーでpractice-outputの場所と中身を確認し、必要なファイルを取り出してから処理します。

実行途中で権限や容量のエラーが出た場合は出力を未完成として扱い、既存の制作データへ混ぜず、新しい練習場所でやり直します。

2026年10月2日にWindows CMDで日本語・空白・!・&・角括弧の名前と再実行時の停止、コピー内容の一致を確認しました。

仕様:Microsoft ren、move、del、rmdir。

関連するファイル操作とツール

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

仕事効率化のおすすめ書籍

仕事用PCの選び方

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次