Windowsバッチファイル実行時の引数メモ
目次
はじめに
Windowsバッチファイル実行時の引数メモです。
バッチファイル実行時の引数
バッチファイル実行時、%1
~%9
には第1引数~第9引数が自動で設定されます。
また、%0
にはバッチファイル自身、%*
にはすべての引数が設定されます
@echo off
echo %%0 = %0
echo %%1 = %1
echo %%2 = %2
echo %%3 = %3
echo %%* = %*
pause
> sample.bat aaa bbb ccc
%0 = sample.bat
%1 = aaa
%2 = bbb
%3 = ccc
%* = aaa bbb ccc
引数(パラメーター)の置換
引数(パラメーター)は以下のオプション構文を使用できます。
修飾子 | 内容 |
---|---|
%~1 |
引用句 (" ) を削除して%1 を展開 |
%~f1 |
%1 を完全修飾パス名に展開 |
%~d1 |
%1 をドライブ文字だけに展開 |
%~p1 |
%1 をパスだけに展開 |
%~n1 |
%1 をファイル名だけに展開 |
%~x1 |
%1 をファイル拡張子だけに展開 |
%~s1 |
%1 を短いパスに展開 |
%~a1 |
%1 をファイル属性に展開 |
%~t1 |
%1 をファイルの日付/時刻に展開 |
%~z1 |
%1 をファイルのサイズに展開 |
また、修飾子の組み合わせも可能です。
(例:%~dp0
:%0
をドライブ文字とパスに展開)
@echo off
echo %%0 = %0
echo %%~0 = %~0
echo %%~f0 = %~f0
echo %%~d0 = %~d0
echo %%~p0 = %~p0
echo %%~n0 = %~n0
echo %%~x0 = %~x0
echo %%~s0 = %~s0
echo %%~a0 = %~a0
echo %%~t0 = %~t0
echo %%~z0 = %~z0
echo %%~dp0 = %~dp0
pause
> "C:\test\sample.bat"
%0 = "C:\test\sample.bat"
%~0 = C:\test\sample.bat
%~f0 = C:\test\sample.bat
%~d0 = C:
%~p0 = \test\
%~n0 = sample
%~x0 = .bat
%~s0 = C:\test\sample.bat
%~a0 = --a--------
%~t0 = 2024/02/26 12:00
%~z0 = 259
%~dp0 = C:\test\