%0 不是 returns 批处理中的当前路径
%0 doesn't returns current path in batch
我在 hello.cmd
中有这个简单的脚本
for %%a in (*.*) do if not "%%a"=="%0" del %%a
我试过 运行 但似乎当前脚本 hello.cmd 被删除了,据我所知 %0
应该 return 当前文件的路径但是它不要。
我也在另一个脚本中尝试了 运行 echo %0
我得到 returned %0
而不是路径。
所以我想知道为什么它不 return c:\path\to\file\hello.cmd
?有没有其他方法获取当前路径?
@ECHO OFF
SETLOCAL
ECHO %%0=%0
ECHO %%~f0=%~f0
ECHO %%~dpnx0=%~dpnx0
ECHO %%~nx0=%~nx0
ECHO %%~p0=%~p0
也许这会有所帮助。注意当你简单地使用 hello
而不是 hello.cmd
时会发生什么
我在 hello.cmd
中有这个简单的脚本for %%a in (*.*) do if not "%%a"=="%0" del %%a
我试过 运行 但似乎当前脚本 hello.cmd 被删除了,据我所知 %0
应该 return 当前文件的路径但是它不要。
我也在另一个脚本中尝试了 运行 echo %0
我得到 returned %0
而不是路径。
所以我想知道为什么它不 return c:\path\to\file\hello.cmd
?有没有其他方法获取当前路径?
@ECHO OFF
SETLOCAL
ECHO %%0=%0
ECHO %%~f0=%~f0
ECHO %%~dpnx0=%~dpnx0
ECHO %%~nx0=%~nx0
ECHO %%~p0=%~p0
也许这会有所帮助。注意当你简单地使用 hello
而不是 hello.cmd