2013-06-28 59 views
1

我有一个批处理脚本,用于检查目录是否存在,然后将其映射(如果存在)。目录路径中的反斜杠有什么区别?

if exist \\server\folder1\%username% net use g: \\server\folder1\%username% 

最近脚本没有正确地与一些计算机在绘图,在这些计算机上要改变

if exist \\server\folder1\%username%\ net use g: \\server\folder1\%username% 

为什么反斜杠有所作为?它不是指向同一个目录吗?为什么“如果存在”需要它和“净使用”不需要它?用户无权访问folder1。现在

,我碰到了一个旧版本由以前的员工写的同一个文件,把它写为

net use g: \\\\server\folder1\%USERNAME% 

他为什么要放四个斜线?

+0

您的第一个问题也许有用户名中的空白? –

+0

我看到相同的行为WRT'IF EXIST'有和没有反斜杠。我不认为这是问题。通常情况下,我总是将引号放在引号中以说明它们包含空格或其他特殊字符的可能性(希望用户名中不允许使用双引号)。对于最后一个问题,有人希望使用四个反斜杠的唯一原因是值是否在要插入的字符串中。这在批处理/ CMD中完全不起作用。这更像是一个从Perl脚本(或类似的东西)复制的路径,比如''\\\\ server \ share \ dir1'' – mojo

回答

2

我不知道如果这是你的问题,但if exist \\server\folder1\%username%是TRUE,如果
%username%是一个有效的文件或文件夹1中文件夹。

如果存在文件夹,则在末尾添加反斜杠将强制条件仅为真。

相关问题