我有Z:取代到网络驱动器,例如:“如果存在Z: xfile NUL” 如果Z返回文件xfile真:被映射到网络驱动器
subst Z: \\fc\c
xfile是文件(不是目录!)存在于替代驱动器的根目录中。下面的语句错误地呼应-exists-
if exist z:\xfile\nul echo -exists-
这使得xfile似乎是一个目录,当它真是一个文件。
未替换的驱动器号不会导致问题。子网到非网络驱动器也不会导致问题。
是否有解决方案来处理看起来像一个subst或if-exist错误?
如果我是来检查Z轴xfile文件名为:\我会用是否存在Z:\ xfile,如果我检查了在Z:\中我将使用名为xfile的目录。我会使用If Exist Z:\ xfile \ _I在十多年的时间里没有看到过使用'\ nul'。 – Compo
这个解决方法怎么样:'dir/B/A:D“Z:\ xfile”> nul 2>&1 && echo -exists-'检查目录,'dir/B/A:-D“Z :\ xfile“> nul 2>&1 && echo -exists-'检查文件是否存在? – aschipfl
@Compo如果存在\\ server \ drv \ fname \将(错误地)在fname是文件时返回true。我以前使用过\ fname \。检查目录,但是当fname是一个文件时,它给出了错误的肯定。我最近被告知我应该使用\ nul构造[link](http://stackoverflow.com/questions/138981/how-to-test-if-a-file-is-a-directory-in-a-batch -script),但现在在网络案例中失败了。 –