Windowsバッチ学習ノート3
4157 ワード
DOSループ:forコマンド詳細概要:FORが4つのパラメータ%%変数名IN(関連ファイルまたはコマンド)DOで実行するコマンド パラメータ/d検索ディレクトリ名
FOR/D%%variable IN(set)DO command:セットにワイルドカードが含まれている場合は、ファイル名ではなくディレクトリ名と一致するように指定します.
パラメータ/rファイル名の検索
ファイルが存在するディレクトリを列挙
パラメータ/L汎用サイクル
バッチ内の変数
バッチの変数は、システム変数とカスタム変数の2つに分類されます.システム変数:これらの値は、システムによって事前に定義された条件に基づいて自動的に割り当てられます.つまり、これらの変数システムはすでに値を定義しています.%path% ; %errorlevel%非ゼロ値は、前の行の命令の実行に失敗したことを示します.%1-%9%*理解しやすい%0はバッチ自体 を表すカスタム変数:set var=私は値です.ユーザーに変数の値を手動で入力させたい場合は、set/p var=変数の値 を入力してください. batサイクルにおける変数の自己増加
Setコマンド詳細
変数および文字列操作
IFコマンド詳細
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つに分類されます.
@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