如果路径包含;
自身,则路径必须用双引号引起来"
。
跟随小PoC
mkdir "foo;bar"
echo echo execute %%~dpnx0 > "foo;bar\dummy.cmd"
set PATH=%PATH%;"foo;bar"
dummy.cmd
Run Code Online (Sandbox Code Playgroud)
输出将是
execute R:\temp\foo;bar\dummy.cmd
Run Code Online (Sandbox Code Playgroud)
表示dummy.cmd
是通过路径设置找到的。
编辑从评论中可以看出:使用分号可能会给您带来一些麻烦。最好避免使用包含分号的目录名称。