コマンドプロンプト(リファレンス)

本項は書きたての記事です。正確な情報は公式サイト、公式ドキュメント、記載の参照サイトでご確認ください。

作法的なもの

@echo off

作成したバッチを起動する際、コマンドプロンプトがシステムメッセージを出力するのを制止する。

コメントは原則「REM」を使う。

コード内にコメントを残す場合はREMを利用する。

:コメント 
コロンは本来はラベルを利用するときのものだが、コロン後にコメントを記す裏技的な使い方もある。
ただしコロン+コメントは、enabledelayedexpansionスコープ内では利用できない制約がある。

setlocal enabledelayedexpansion

遅延展開
変数は読み込み時ではなく「実際に実行時」に処理を行わせたい場合に利用。

funcName "%%hensu"

funcNameという関数に変数hensuを引数として与える時、%hensuが持つ値の中身に半角スペースが含まれる可能性がある場合、
1つの変数として解釈されないことを防ぐためにダブルクォーテーションで囲む。

setlocal、endlocal

環境変数のローカル化。ローカル変数を扱いたい場合、他への影響を防ぐため。
setlocalを宣言したらスコープ終了箇所に必ずendlocalを設置して終了点を明示すること。

exit /b または exit /b 0

コマンドプロンプト自体ではなくバッチ処理を終了させる場合に利用。
後者はバッチの実行を、終了コード0にて終了させたい場合。

標準入力 set /p hensu="文字列"

hensuに入れる値を標準入力で得る。

set /p hensu="文字列"<nul
とすると改行が含まれていても無視されて格納、出力される。

echo出力時に下記のコードとすると改行も標準出力される。
echo.

コマンド一覧

+ コマンド一覧
コマンド カテゴリ 内容・例
! [拡張構文] 遅延環境変数展開機能を使って環境変数を展開、内容をテキスト化
% %ENVVARS% 変数利用
& コマンド結合
&& コマンド結合(成功時続行)
: ラベル
@ 画面非出力
^ (サーカムフレックス) リダイレクション記号などの特殊文字を通常の文字として使うときに使用します。
パイプ 結果引き渡し(|は半角)
|| エラー時に後続コマンド実行(エラー処理)(|は半角)
( ) コマンドグループ
< 読み込み
Adddrv 現在のセッションでデバイスを読み込み使用
Attrib 属性変更
Break Ctrl+Cによる割り込みをファイル操作中に行えるかどうかを変更します。
Call 外部命令読み込み
Cd, Chdir フォルダ移動
Chcp 文字コード変更
Chev 日英環境変更
Chkdsk ディスクチェック
Choice 選択肢(choice /c "YN" /T 9999 /D /M message) T=0~9999sec
Clip Clipプログラムが受け取った入力をクリップボードにコピーします。
Cls コマンドプロンプト画面クリア
Cmd 外部アプリ起動。commandもあり。
Color 画面の色を設定
Comp ファイル比較
Copy コピー
Date 日付
Del, Erase ファイル削除
Deldrv デバイス削除
Deltree フォルダ削除
Dir ディレクトリ一覧出力
Diskcomp FDD比較
Diskcopy FDDコピー
Doskey コマンドエイリアス設定
Echo 画面出力
Endlocal ローカル環境変数の終了
Exit コマンド インタープリター(プロンプト)を終了します。
Expand LZ77形式の圧縮、CAB形式の圧縮ファイル展開
Fc ファイル比較
Fdisk ディスク管理ユーティリティー
Find 文字列検索
Findstr 文字列検索
For ループ処理
Forfiles 繰り返し処理(forfiles /M /C "cmd @files " /D yyyy/mm/dd
Format ドライブフォーマット
Goto ラベル移動
Hostname ホスト名
Icacls アクセス制御リスト
If 条件式
Label ディスクラベル変更
Lh, Loadhigh 常駐プログラム優先度変更
Md, Mkdir ディレクトリ作成
Mem メモリ状態表示
Mklink リンク作成(ジャンクジョン /J , シンボリック /D, ハード /H)
Mode シリアルポートデバイス設定
More 画面ページング出力
Mountvol ボリューム接続設定
Move 移動
Path ファイルPath
Pause 一時停止
Popd pushd解除
Print 印刷
Prompt プロンプト
Pushd 仮想ドライブ設定
Rd, Rmdir フォルダ削除
Recover ファイル復旧
Reg レジストリ
Rem コメント
Ren, Rename 名前変更
Replace 置換
Robocopy 同期コピー robocopy source-dir target-dir copy-file /E /B /J (空を含め配下フォルダコピー、ACL上書き、容量大きいファイル)
Scandisk ドライブエラーチェック
Set 変数設定
Setlocal ローカル変数有効化
Setver MS-DOSプログラム用のバージョンテーブル管理
Setx 環境変数ダイアログからでないと消す事ができない
Shift パラメータ取得(shift %2)
Sort 並び変え
Start プログラムの実行
Subst 仮想ドライブ設定
Switch 環境切り替え(要、再起動)
Sys システムドライブに必要なファイルを転送(コピー)します。
Systeminfo コンピューターの情報を表示
Taskkill タスク終了
Tasklist タスク一覧
Time 時刻
Timeout タイムアウト
Title プロンプトタイトル変更
Tree ツリー表示
Type テキスト内容表示
Tzutil タイムゾーン変更
Ver winバージョン
Verify ファイル検査
Vol ディスクのボリュームラベルとシリアル番号を表示します。
Whoami ユーザー名やグループ名、権限などを出力
Xcopy 再帰コピー xcopy /E /Q sourceDir targetDir (コピー状況非表示)


参考

[ 遅延環境変数とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典 ]
( https://wa3.i-3-i.info/word12518.html )
[ バッチファイルで数値を比較する ]
( https://jj-blues.com/cms/wantto-comparenumber/ )
[ バッチファイルでよく使う書き方まとめ - Qiita ]
( https://qiita.com/sta/items/8cab80fe74b8dcfa5336 )

タグ:

cmd win reference
最終更新:2023年04月19日 04:23