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% ※終了コードを確認する

文字コードの扱い

コマンドプロンプトで扱う文字の文字コードの設定

遅延環境変数

  • 変数をコードの実行時に値に置き換える(コードの読み込み時ではない)
  • ENABLEDELAYEXPANSION
    setlocal enabledelayedexpansion
    set HENSU=123
    echo !HENSU! ※変数の値呼び出し時に変数名を%ではなく!で囲む
    endlocal

関連サイト

関連用語


添付ファイル: filems-dos_sample2.txt 41件 [詳細] filems-dos_sample1.txt 41件 [詳細]