另一个问题 https://stackoverflow.com/questions/29623328/why-is-file-pathseparatorchar-a-semicolon-on-windows提出了一个有趣的问题:
在 Windows 上,JavaFile.pathSeparatorChar
is ;
, 哪个是对的。然而,分号实际上是also文件夹或文件名的有效字符。您可以创建一个名为的文件夹Test;Test1
在 Windows 上。
问题是:如果路径列表可以同时包含绝对路径和相对路径,如何确定路径列表中的分号实际上是分隔路径还是目录名的一部分?
如果路径包含;
路径本身必须用双引号引起来"
.
跟随小PoC
mkdir "foo;bar"
echo echo execute %%~dpnx0 > "foo;bar\dummy.cmd"
set PATH=%PATH%;"foo;bar"
dummy.cmd
输出将是
execute R:\temp\foo;bar\dummy.cmd
意味着dummy.cmd
通过路径设置找到。
edit从评论中可以看出:使用分号可能会给您带来一些麻烦。最好避免使用包含分号的目录名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)