Windowsバッチ学習ノート3

4157 ワード

DOSループ:forコマンド詳細
  • 概要:FORが4つのパラメータ%%変数名IN(関連ファイルまたはコマンド)DOで実行するコマンド
  • パラメータ/d検索ディレクトリ名
    FOR/D%%variable IN(set)DO command:セットにワイルドカードが含まれている場合は、ファイル名ではなくディレクトリ名と一致するように指定します.
    @echo off
    for /d %%i in (c:\*) do echo %%i
    pause
    

    パラメータ/rファイル名の検索
    ファイルが存在するディレクトリを列挙
    @echo off
    for /r c:\ %%i in (boot.ini) do if exist %%i echo %%i
    echo      ... &pause>nul
    

    パラメータ/L汎用サイクル
    @echo off
    for /l %%i in (5,-1,-1) do echo %%i
    pause
    

    バッチ内の変数
    バッチの変数は、システム変数とカスタム変数の2つに分類されます.
  • システム変数:これらの値は、システムによって事前に定義された条件に基づいて自動的に割り当てられます.つまり、これらの変数システムはすでに値を定義しています.%path% ; %errorlevel%非ゼロ値は、前の行の命令の実行に失敗したことを示します.%1-%9%*理解しやすい%0はバッチ自体
  • を表す
  • カスタム変数:set var=私は値です.ユーザーに変数の値を手動で入力させたい場合は、set/p var=変数の値
  • を入力してください.
  • batサイクルにおける変数の自己増加
  • @echo off
    setlocal enabledelayedexpansion
    set /p a=for /L %%i in (1,1,10) do (
    set /a a=a+1
    echo !a!
    )
    echo %a%
    

    Setコマンド詳細
    変数および文字列操作
    IFコマンド詳細
    @echo off
    set /p a=please input a value:
    if errorlevel 1 echo failed
    else echo failed
    echo     .... &pause>nul