バッチファイル

Windowsバッチファイル

目次一覧

 状態:確認中  閲覧数:2,473  投稿日:2019-11-23  更新日:2019-11-23
バッチファイルとは?/「.bat ファイル」と「.shファイル」の違い / バッチファイルで利用できる構文

REM コマンド /「REM コマンドで記述したコメント」を画面表示させない方法は2種類 / 既に設定されている環境変数の一覧

変数 / for 文 / for 文 の注意事項

「RD コマンド」と「RMDIR コマンド」の違い


バッチファイルとは?/「.bat ファイル」と「.shファイル」の違い / バッチファイルで利用できる構文

 閲覧数:774 投稿日:2019-11-23 更新日:2019-11-23

バッチファイルとは?


「Windowsで使用する処理」を記載した(テキスト)ファイル
・拡張子は「.bat」や「.cmd」などが多く使用される
・cmd.exe というコマンドインタプリタ が、 それを一行ずつ解釈しながら実行する

(基本的には、)コマンドプロンプト上で実行できるコマンドを並べて書いたもの
batファイルを作成することで作業効率化などを図ったりもできるが、基本的にはコマンドプロンプト上で動くもの

特徴
・(C 言語とは異なり)バッチファイルをコンパイルする必要はない
・そのファイルを直接単独で実行可能

「.bat ファイル」と「.shファイル」の違い


比較一覧表
- .bat ファイル .shファイル
名称 バッチファイル シェルスクリプト
内容 「Windowsで使用する処理」を記載したファイル シェルでの動作を記載したファイル。UNIX系で使用する

バッチファイルで利用できる構文


コマンドプロンプト用に用意されているコマンド一覧を表示
C:\Users\user>help
特定のコマンドの詳細情報は、"HELP コマンド名" を入力してください
ASSOC    ファイル拡張子の関連付けを表示または変更します。
ATTRIB   ファイルの属性を表示または変更します。
BREAK    拡張 CTRL+C チェックを設定または解除します。
BCDEDIT  ブート データベースのプロパティを設定して起動時の読み込みを制御します。
CACLS    ファイルのアクセス制御リスト (ACL) を表示または変更します。
CALL     バッチ プログラム中から、別のバッチ プログラムを呼び出します。
CD       現在のディレクトリを表示または変更します。
CHCP     有効なコード ページ番号を表示または設定します。
CHDIR    現在のディレクトリを表示または変更します。
CHKDSK   ディスクをチェックし、状態を表示します。
CHKNTFS  起動時のディスクのチェックを表示または変更します。
CLS      画面を消去します。
CMD      Windows コマンド インタープリターを新しく起動します。
COLOR    コンソールの文字と背景の既定の色を設定します。
COMP     2 個のファイルまたはファイルの集合の内容を比較します。
COMPACT  NTFS パーティション上のファイルの圧縮状態を表示または変更します。
CONVERT  FAT ボリュームを NTFS に変換します。現在のドライブは変換できません。
COPY     1 個以上のファイルを別の場所にコピーします。
DATE     日付を表示または変更します。
DEL      1 個以上のファイルを削除します。
DIR      ディレクトリ中のファイルやサブディレクトリの一覧を表示します。
DISKPART ディスク パーティションのプロパティを表示または構成します。
DOSKEY   コマンド ラインの編集、Windows コマンドの再呼び出し、マクロの
        作成をします。
DRIVERQUERY
        現在のデバイス ドライバーの状態とプロパティを表示します。
ECHO     メッセージの表示、コマンド エコーのオン、オフの指定をします。
ENDLOCAL バッチ ファイルで、環境変数のローカル化を終了します。
ERASE    1 個以上のファイルを削除します。
EXIT     CMD.EXE プログラム (コマンド インタープリター) を終了します。
FC       2 個のファイルまたはファイルの集合の内容を比較して、それらの違いを
        表示します。
FIND     ファイルの中からテキスト文字列を検索します。
FINDSTR  ファイルの中から文字列を検索します。
FOR      指定されたコマンドを、ファイルの集合の各ファイルに対して実行
        します。
FORMAT   Windows で使用するためのディスクをフォーマットします。
FSUTIL   ファイル システム プロパティを表示または構成します。
FTYPE    ファイル拡張子の関連付けで使われるファイル タイプを表示または変更
        します。
GOTO     バッチ プログラム中で、ラベルで定義されている行へ Windows コマンド
        インタープリターの実行を移します。
GPRESULT コンピューターまたはユーザーのグループ ポリシー情報を表示します。
GRAFTABL Windows がグラフィック モードで拡張文字セットを表示できるように
        します。
HELP     Windows コマンドのヘルプ情報を表示します。
ICACLS   ファイルおよびディレクトリの ACL を表示、
        変更、バックアップまたは復元します。
IF       バッチ ファイル中で、条件処理を実行します。
LABEL    ディスクのボリューム ラベルを作成、変更、または削除します。
MD       ディレクトリを作成します。
MKDIR    ディレクトリを作成します。
MKLINK   シンボリック リンクおよびハード リンクを作成します。
MODE     システム デバイスを設定します。
MORE     出力を一度に 1 画面ずつ表示します。
MOVE     1 個以上のファイルをディレクトリから別のディレクトリに移動します。
OPENFILES
        リモート ユーザーによって開かれている共有ファイルを表示します。
PATH     実行可能ファイルの検索パスを表示または設定します。
PAUSE    バッチ ファイルの処理を一時停止し、メッセージを表示します。
POPD     現在のディレクトリを PUSHD で保存したディレクトリに戻します。
PRINT    テキスト ファイルを印刷します。
PROMPT   Windows コマンド プロンプトを変更します。
PUSHD    現在のディレクトリを保存して、変更します。
RD       ディレクトリを削除します。
RECOVER  不良または欠陥ディスクから読み出し可能な情報を復元します。
REM      バッチ ファイルや CONFIG.SYS の中で、コメント (注釈) を記録します。
REN      ファイルの名前を変更します。
RENAME   ファイルの名前を変更します。
REPLACE  ファイルを置き換えます。
RMDIR    ディレクトリを削除します。
ROBOCOPY ファイルやディレクトリ構造をコピーする詳細ユーティリティです。
SET      Windows 環境変数を表示、設定、または削除します。
SETLOCAL バッチ ファイルで、環境変数のローカル化を開始します。
SC       サービス (バックグラウンド プロセス) を表示または構成します。
SCHTASKS コンピューター上で実行されるコマンドとプログラムをスケジュールします。
SHIFT    バッチ ファイルで、置き換え可能パラメーターの位置をシフトします。
SHUTDOWN ローカルまたはリモートのコンピューターのシャットダウンを許可します。
SORT     入力を並べ替えます。
START    別のウィンドウを起動して、指定したプログラムまたはコマンドを実行
        します。
SUBST    パスをドライブ名で置き換えます。
SYSTEMINFO
        コンピューター特有のプロパティと構成を表示します。
TASKLIST サービスを含む現在実行されているすべてのタスクを表示します。
TASKKILL 実行されているプロセスまたはアプリケーションを削除または停止します。
TIME     システム時刻を表示または変更します。
TITLE    コマンド プロンプト ウィンドウのタイトルを設定します。
TREE     ドライブまたはパスのディレクトリ構造を図式表示します。
TYPE     テキスト ファイルの内容を表示します。
VER      Windows のバージョンを表示します。
VERIFY   ファイルがディスクへ正しく書き込まれたかを照合するかどうか
        Windows へ指定します。
VOL      ディスクのボリューム ラベルとシリアル番号を表示します。
XCOPY    ファイルやディレクトリ構造をコピーします。
WMIC     対話型コマンド シェルで WMI 情報を表示します。

ツールの詳細な情報については、オンライン ヘルプのコマンド ライン リファレンスを参照してください。

C:\Users\user>


コマンド毎のヘルプドキュメントを表示する方法
2種類

方法a.コマンド名やキーワードの後ろに /? 付与する
> if /?
> dir /?

方法b.help コマンドを使用する
> help if
> help dir


区切りとして認識される文字、特殊な意味を持つ文字 /「"」で前後を囲む / バッチファイルにおけるパス

 閲覧数:478 投稿日:2019-11-23 更新日:2019-11-24

区切りとして認識される文字、特殊な意味を持つ文字


区切りとして認識される文字
・半角スペース
・全角スペース
・半角の「;」「,」「=」

特殊な意味を持つ文字
・半角の「"」「<」「>」「%」「&」「|」「^」など

「"」で前後を囲む


「"」で前後を囲む理由
・バッチファイルにおいて、一部の半角記号と全角スペースは特殊な意味を持つため
・「"」で前後を囲むと、それらの意味はなくなり、ただの文字として認識されるようになる

具体例
・「AAA BBB」という名前のフォルダを作成する
・半角スペースが含まれているが、半角スペースで区切られてしまわないように、「"」で囲んでいる
md "AAA BBB"

バッチファイルにおけるパス


「\」区切りで表現する
C:\mp4data\PRIVATE\M4ROOT\CLIP\C0001.MP4


REM コマンド /「REM コマンドで記述したコメント」を画面表示させない方法は2種類 / 既に設定されている環境変数の一覧

 閲覧数:678 投稿日:2019-11-23 更新日:2019-11-24

REM コマンド


REM コマンドとは?
バッチファイルの中でコメントを記述することができるコマンド

echo 機能がオンになっていると
REM コマンドも画面に表示される

「REM コマンドで記述したコメント」を画面表示させない方法は2種類


echo 機能をオフにする
echo off

REM コマンドの前に @ を記述する
@rem コメント内容

既に設定されている環境変数の一覧


set コマンドで表示される
C:\Users\user> set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\user\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-xxxx
ComSpec=C:\WINDOWS\system32\cmd.exe
DriverData=C:\Windows\System32\Drivers\DriverData
HOMEDRIVE=C:
HOMEPATH=\Users\user
LOCALAPPDATA=C:\Users\user\AppData\Local
LOGONSERVER=\\DESKTOP-xxxx
NUMBER_OF_PROCESSORS=8
OneDrive=C:\Users\user\OneDrive
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;L:\9.soft\Git\cmd;L:\9.soft\ffmpeg-20191119-0321bde-win64-static\bin;L:\9.soft\exiftool-11.76;C:\Users\user\AppData\Local\Microsoft\WindowsApps;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2a07
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\user\AppData\Local\Temp
TMP=C:\Users\user\AppData\Local\Temp
USERDOMAIN=DESKTOP-xxxx
USERDOMAIN_ROAMINGPROFILE=DESKTOP-xxxx
USERNAME=user
USERPROFILE=C:\Users\user
windir=C:\WINDOWS

C:\Users\user>


変数 / for 文 / for 文 の注意事項

 閲覧数:458 投稿日:2019-11-23 更新日:2019-11-24

変数


バッチファイル内では変数を使用可能
「既に設定されている環境変数」と同じ名前を使用しないようにする

変数の設定
・「set」コマンドを使用して、変数へ代入する
・値は基本的には文字列
・値文字列にスペースが含まれていても 文字列全体を引用符で囲む必要はない
※文字列を引用符で囲むと、引用符自体も値に含まれてしまう
set 変数名=値

変数の値を利用するとき
その代入した変数を参照する際は、変数名を % で囲んで %変数名% とする
%変数名%
set a=青葉
set b=%a% 京美
echo %b%
とすると「青葉 京美」と表示される

変数の削除
set 変数名=

for 文


a.指定リスト分だけ実行
for %変数名 in (リスト) do (
  コマンド
  ..........
)

b.単調な整数リストに対して実行
for /l %変数名 in (初期値,増分,終了値] do (
  [コマンド]
  ..........
)

c.テキストファイルの各行に対して実行
for /f "オプション" %変数名 in (ファイルリスト) do (
  コマンド
  ..........
)

実行するコマンドが 1 つしかない場合
下記のような1 行記述も可能
for %変数名 in (リスト) do コマンド
for %変数名 in (リスト) do (コマンド)

for 文 の注意事項


for 文の局所変数 %変数名 の変数名
アルファベット 1 文字であることが必須

バッチファイル内で使用する際
%変数名 は、 %%変数名 と % を重ねる必要がある

「RD コマンド」と「RMDIR コマンド」の違い

 閲覧数:1,142 投稿日:2019-11-24 更新日:2019-11-24

「RD コマンド」と「RMDIR コマンド」の違い


機能に違いはない
何れのコマンドを使用しても同じ結果となる

RDはRMDIRの略
RD という略称がエイリアス

引数
・削除するディレクトリのパスを指定する
・パスは相対パスでも絶対パスでも指定できる



バッチファイルで処理を自動化する


「currentディレクトリ」内の「任意階層下にある指定ディレクトリ」あるいは「任意階層下にある指定ディレクトリ内にある全ファイル」をバッチファイルで一括処理する

「指定ディレクトリ」内の「任意階層下にある指定ディレクトリ名」内にある全ファイルをバッチファイルで一括処理する



類似度ページランキング
順位 ページタイトル抜粋
1 バッチファイル 100
2 ファイル名変更君 53
3 一括ファイル移動 53
4 ファイル名長過ぎ/毎月バックアップ 50
5 ファイル名の一部(指定文字列)を削除するバッチファイル 41
6 MIDIファイル公開サイト 40
7 上書きしたファイルを復元する方法 35
8 バックアップ方針のプライベートマニュアル 30
9 指定ディレクトリ内の指定フォルダ内にある全ファイルをバッチファイルで一括削除します 29
10 「指定ディレクトリ」内の「任意階層下にある隠しファイル」をバッチファイルで一括削除する 28
11 MP3ファイルの「プロパティ」を変更できない 28
12 インテル®プロセッサ診断ツール 27
13 インストール一覧 27
14 2018年調査 / 1GBテキストファイル内置換 26
15 マルチスレッドフロート式掲示板のSEOを強化したい 25
16 Windows10でファイル作成日時(もしくは更新日時)を、ファイル名の末尾に付与するバッチファイル 25
17 ファイル名を連番へリネームする「ファイル名一括変更」 24
18 Audacityは、WMAファイルを読み込めません。 24
19 保存すると、.BAKというファイルが勝手にできてしまう 24
20 バッチファイル(bcl.bat)で、コンパイル時に中間ファイル(.tds、.obj)を作成しないようにする 23
2024/4/25 23:18 更新
週間人気ページランキング / 4-18 → 4-24
順位 ページタイトル抜粋 アクセス数
1 MP3ファイルの「プロパティ」を変更できない | Windows 10(Windows) 68
2 3.解凍先の指定。デフォルト設定ではデスクトップに解凍 29
2 Audacity で再生ボタンを押しても音が鳴らない時は、再生レべルスライダーを右にドラッグして「再生レべル:100%」にします。 | Audacity(音) 29
3 タスクスケジューラ | Windows 10(Windows) 24
4 「Audacity」で複数ファイルへ対する一括変換対応について | Audacity(音) 21
5 フォルダウィンドウの「戻る」「進む」矢印ボタンが表示されなくなった | Windows7(Windows) 18
6 Windows 0 17
7 「VLC media player」で動画再生した際、動きが大きくなるにつれて横シャギーが入ったように横線が表示される場合には、「デインターレース」設定を「オン」へ変更します。 | VLC media player(ソフトウェア) 13
7 VLC media player で複数曲を「繰り返し連続再生する」ためには、プレイリスト全体をリピート再生指定する | VLC media player(ソフトウェア) 13
7 コマンドプロンプトでchkdsk /B | ハードディスクトラブル(ハードウェア) 13
8 ctfmon.exe – Unknown Hard Error | フリーズトラブル 2021年 (Windows) 11
8 「タイムゾーン間で同期」にはチェックを入れない 11
9 ファイル名の一部(指定文字列)を削除するバッチファイル | バッチファイル(Windows) 9
9 MP3ファイルの無音部分を自動検出して、「分割」もしくは「削除」するフリーソフト … mp3DirectCut | mp3DirectCut(音) 9
9 三菱東京UFJ銀行(インターネットバンキング) カテゴリー 9
10 これまで正常動作していた「CrystalDiskInfo」である日突然「対応ディスクが見つかりませんでした」と表示された場合は、アップデートしてみます。 | CrystalDiskInfo(ソフトウェア) 8
10 「Chromeのユーザー1」を削除。ブックマークを復活させるためには、「Bookmarks.bak」を「Bookmarks」へリネーム後、「Profile 1」フォルダへ上書き配置 | Google Chrome(ソフトウェア) 8
10 Xboxを使用していない場合、XblGameSaveを動作させる必要は全くない 8
10 「Windows 10」へインストールした「Audacity 3.2.4」で「.aacファイル」を読み込み、音量を大きく変換後、「.waveファイル」として出力する。 | Audacity(音) 8
11 保存すると、.BAKというファイルが勝手にできてしまう | 秀丸エディタ(ソフトウェア) 7
2024/4/25 1:01 更新