MS-DOS
2023-10-26 (木) 13:17:10
MS-DOS とは †
- コマンドプロンプト
コマンドの仕様 †
コメント †
- rem
rem コメント
環境変数 †
- 変数に代入
set <name>=<value>
- 変数の値を出力
echo <name>
- 現在日時
echo %date% echo %date:/=% ※スラッシュを削除 echo %time% ※HH:MM:SS.00形式 set TIME=%time: =0% ※1桁の値の2桁目がスペースになっているのを0に置換 set TIME=%TIME::=% ※コロンを削除 set TIME=%TIME:.=% ※ドットを削除 echo %time:~0,5% ※HH:MMのみ出力
- 文字列操作(切り出し、置換)
- 切り出し
%TEMP:~start% %TEMP:~start,number% %TEMP:~start,-number% %TEMP:~-start% %TEMP:~-start,number% %TEMP:~-start,-number% ※startは開始位置(先頭は0。マイナス値の場合は末尾からの文字数) ※numberは文字数(省略した場合は末尾になる。マイナス値の場合は末尾の除去する文字数)
- 置換
%TEMP:before=after% ※特殊文字は左に^を付ける
- 切り出し
文字列操作 †
- find
find <keyword> <filename> ※検出した行 find /V <keyword> <filename> ※検索文字を含まない行 find /C <keyword> <filename> ※検出した行数
- findstr
findstr /C:<keyword> <filename> ※検出した行 findstr /B /C:<keyword> <filename> ※検索文字で始まる行を検出 findstr /N /C:<keyword> <filename> ※行番号を付加 findstr /R /C:<keyword> <filename> ※正規表現で検索 findstr /C:<keyword> <filename> | find /C /V "" ※検出した行数
ファイル操作 †
- type
type <filename> ※指定したテキストファイルの内容を出力
- more
more <filename> ※指定したテキストファイルの内容を出力(ページ毎、SPACEキーで続き)
- move
move <origin-file> <target-file> ※ファイルの移動・名前変更
- copy
copy <origin-file> <target-file> ※ファイルの複製
ウェイト †
timeout /t <minutes> > nul ※指定した秒数待つ
バッチファイル †
- エコーOFF
@echo off ※以降のコマンドの実行を画面に出力しない
- ラベル
:ERROR goto :ERROR ※呼び出し元に戻らない call ERROR ※呼び出し元に戻る goto :EOF ※スクリプトの最後(終了)を表す予約
- 一時停止
pause ※任意のキー入力で再開
- 終了
exit ※コマンドプロンプトから実行した場合、プロンプトを閉じる exit /B ※コマンドプロンプトから実行した場合、プロンプトを開いたままにする exit /B <return-value> ※終了コードを指定する echo %ERRORLEVEL% ※終了コードを確認する
文字コードの扱い †
コマンドプロンプトで扱う文字の文字コードの設定 †
- chcp
chcp ※現在の設定を確認する chcp <code-page-identifier>
- code-page-identifier (コードページ番号)
https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers
code-page-identifier 文字コード 932 SJIS 20127 US-ASCII (7-bit) 65001 UTF-8
- code-page-identifier (コードページ番号)
遅延環境変数 †
- 変数をコードの実行時に値に置き換える(コードの読み込み時ではない)
- ENABLEDELAYEXPANSION
setlocal enabledelayedexpansion set HENSU=123 echo !HENSU! ※変数の値呼び出し時に変数名を%ではなく!で囲む endlocal
関連サイト †
- Windows のコマンド - Microsoft
https://docs.microsoft.com/ja-jp/windows-server/administration/windows-commands/windows-commands