在批处理中,我有时会看到用于开关的%~1
以及%1
。有什么区别?他们似乎都适合我。
示例:
if "%~1"=="" echo No variable specified.
和
if "%1"=="" echo No variable specified.
似乎可以互换。
答案 0 :(得分:1)
解释在For /?
和call /?
中展开%1,删除任何周围的引号(")。
%~1 - expands %1 removing any surrounding quotes (")
%~f1 - expands %1 to a fully qualified path name
%~d1 - expands %1 to a drive letter only
%~p1 - expands %1 to a path only
%~n1 - expands %1 to a file name only
%~x1 - expands %1 to a file extension only
%~s1 - expanded path contains short names only
%~a1 - expands %1 to file attributes
%~t1 - expands %1 to date/time of file
%~z1 - expands %1 to size of file
%~$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
您可能会发现此链接很有趣Command to run a .bat file