コンテンツにスキップ

6. コマンドプロンプトとbatファイル

6.1 コマンドプロンプトと基本操作

6.1.1. コマンドプロンプト

コマンドプロンプトはWindowsに標準搭載されているCUIのこと。 起動には以下方法で可能となる。

  1. win + rキーで「ファイル名を指定して実行」を起動
  2. 「cmd」と入力しEnter

なおコマンドの強制終了はctrl + cキーで可能。

環境変数

環境変数はシステムやアプリが参照する情報を格納する場所のこと。 %環境変数名%で表示される。 なお、環境変数一覧を表示するにはsetコマンドで可能。

環境変数名
%WINDIR% Windowsのインストールディレクトリ
%HOMEPATH% ユーザのホームディレクトリ
%PATH% コマンドサーチパス
%DATE% 現在の日付
%TIME% 現在の時刻
%ERRORLEVEL% 直前実行したコマンドのエラーレベル

パスとディレクトリ

Windowsにおいてファイルやフォルダの場所はPATHという情報で管理される。 記法は以下の通り。

  • ドライブ名:\フォルダ名\ファイル名

なおパスに空白を含む場合"でパス全体を囲む必要がある。

絶対パスと相対パス

コマンド操作でファイルやディレクトリを指定する場合2つの方法がある。

  • 相対パス
    • 現在のディレクトリ位置からファイルやディレクトリを指定する方法
    • .: カレントディレクトリ
    • ..: カレントディレクトリの1つ上のディレクトリ
  • 絶対パス
    • ドライブ名からすべて指定する方法

コマンドプロンプトの終了

exitの入力とEnterで終了できる。

6.1.2. リダイレクト

リダイレクト

リダイレクトとはリダイレクト演算子という記号で標準出力をファイルへ出力できる機能のこと。 以下のようなものがある。

記号 説明
コマンド > ファイル名 ファイルに標準出力を書き込む
コマンド >> ファイル名 ファイルに標準出力を追記する
コマンド 2> ファイル名 ファイルに標準エラー出力を書き込む
コマンド > ファイル名 2>&1 標準出力に標準エラー出力をマージする
コマンド < ファイル名 コマンド入力を指定したファイルから読み込む

6.1.3. パイプ

パイプ(|)はコマンドの実行結果を別のコマンドに引き渡す機能のこと。

6.1.4. ワイルドカード

ワイルドカードは特殊文字を使用して文字列を表現する方法の1つ。 Windowsでは以下のワイルドカードを使用できる。

  • *
    • 0個以上の任意の文字列を表す
  • ?
    • 任意の位置文字を表す

6.1.5. 基本的なコマンド

コマンド 説明
cd ディレクトリ ディレクトリの移動
dir ディレクトリ内のファイルフォルダ一覧表示
mkdir ディレクトリ作成
copy コピー元 コピー先 ファイルのコピー
del ファイル ファイルの削除
rmdir ディレクトリ ディレクトリの削除
ren 元の名前 新しい名前 名前の変更
type ファイル ファイルの内容表示
doskey /h コマンド履歴の表示
cls 画面のクリア
move ファイルの移動元 ファイルの移動先 ファイルの移動
touch ファイル名 ファイルの作成

6.2. batファイル

6.2.1. batファイルとは

batファイルはテキストファイルに実行させたいコマンドを順番に記述したもののこと。 拡張子としては「.bat」「.cmd」がある。

特徴として、条件分岐や繰り返し処理なども使えるため簡易プログラムとして使用できる。

6.2.2. batファイルの実行方法

batファイルは様々な方法で実行できるが、主に以下3つの方法が使用される。

  • 「.bat」ファイルのダブルクリック
    • 出力結果がそのままだと表示されない
  • コマンドラインからの実行
    • 「.bat」の入力の省略が可能
    • バッチパラメータを使用できる
  • タスクスケジューラによる実行
    • ファイルのバックアップbatファイルの作成などに便利
    • バッチパラメータが利用できる

6.2.3. batファイルの基本文法

以下の点に留意して記述を行う。

  • 1行に1コマンド
  • 大文字/小文字を区別しない
  • 一行当たりの最大文字制限はない
  • 空行は無視される

6.2.4. batファイル関連コマンド

batファイルで頻繁に使用されるコマンドを記載する。

echoコマンド

任意のメッセージを表示するコマンド。

@echo off

remコマンド

batファイルにコメントを入れるコマンド

rem コメント

setコマンド

batファイル内で任意の環境変数を設定できるコマンド。 なお、batファイル内で設定した環境変数はbatファイル内で一時的に有効になる

set 環境変数名=

6.2.5. batパラメータ

batパラメータは%[数字]で示されるパラメータで、batファイルに渡す引数として利用できる。

6.3. batプログラミング

batプログラミングは、batファイルの命令制御を利用した簡易的なプログラミングのこと。 特殊なコマンドを使用すると、通常は上から下に向かって実行されるbatファイルが、「一行飛ばす」「繰り返し処理」「上の行に戻る」などを利用することができる。

6.3.1. batプログラミングのコマンド

ifコマンド

条件分岐ができるコマンド。

if CONDITION (
    REM 条件が真の場合に実行するコマンド
) else (
    REM 条件が偽の場合に実行するコマンド
)

詳細はコチラ

forコマンド

繰り返し処理ができるコマンド。

for %%VAR in (SET) do (
    REM ループ内で実行するコマンド
)

gotoコマンド

:[ラベル名]で定義したラベル部分へジャンプできるコマンド。

goto LABEL

:LABEL
REM ラベルの行から始まるコマンド

pauseコマンド

batファイルの実行を一時停止できるコマンド。

shiftコマンド

batパラメータを左シフトするコマンド。

callコマンド

batファイルの中から他のbatファイルを呼び出すコマンド。