읽기 명령 줄 인수 (매개 변수) 또는 call /?
:
…
If Command Extensions are enabled CALL changes as follows:
…
In addition, expansion of batch script argument references (%0, %1,
etc.) have been changed as follows:
…
%~$PATH:1 - searches the directories listed in the PATH
environment variable and expands %1 to the fully
qualified name of the first one found. If the
environment variable name is not defined or the
file is not found by the search, then this
modifier expands to the empty string
…
이 FOR
명령은 숫자가 아닌 문자로 식별되는 매개 변수를 만듭니다 (예 :) %%G
. 위에서 설명한 Parameter Expansions도 적용 할 수 있습니다.
위의 경우에 적용 ( 또는 스크립트 %%g
에서 사용하기 위해 두 배의 비율로 한숨을 쉬십시오 ) :.bat
.cmd
for %%g in ("bin\myapp.exe") do @set "_pathToMyApp=%%~$PATH:g"
rem ↑↑ NO leading backslash
rem next line calls `myapp.exe` using its fully qualified name
"%_pathToMyApp%"
실제 예 : ( %g
열린 cmd
창의 명령 프롬프트에서 사용하기 위해 단일 퍼센트가 한숨을 쉬는 것에 주목하십시오 ). 내 PATH
변수 …;C:\Utils\;…
는 C:\Utils
폴더 ( base directory ) 를 더 이상 참조하지 않고 읽은 다음 myapp.exe
제공된 모든 매개 변수를 표시하는 간단한 응용 프로그램입니다.
d:\bat> myapp.exe
'myapp.exe' is not recognized as an internal or external command,
operable program or batch file.
d:\bat> bin\myapp.exe
The system cannot find the path specified.
d:\bat> set _
Environment variable _ not defined
d:\bat> for %g in ("bin\myapp.exe") do @set "_pathToMyApp=%~$PATH:g"
d:\bat> set _
_pathToMyApp=C:\Utils\bin\myapp.exe
d:\bat> "%_pathToMyApp%" display all parameters
param 0 = C:\Utils\bin\myapp.exe
param 1 = display
param 2 = all
param 3 = parameters
d:\bat>