如果 Z: 映射到网络驱动器,则"if exist Z:xfileNUL"返回文件 xfile 的 true



我有Z:替换为网络驱动器,例如:

subst Z: \fcc

xfile 是一个文件(不是目录!(,存在于替换驱动器的根目录中。 下面的语句错误地回显了-存在-

if exist z:xfilenul echo -exists-

这使得 xfile 看起来像一个目录,而实际上它是一个文件。

非替换驱动器号不会导致问题。 非网络驱动器的子项也不会导致问题。

有没有解决方法来处理看起来像 subst 或 if 存在错误的东西?

这是一个一般结构,它应该从你的.BAT文件参数开始工作,(这个假设它是第一个参数%1(:

@Echo Off
For /F "Tokens=1-2 Delims=d" %%A In ("-%~a1") Do (
    If "%%B" NEq "" (
        Echo %1 is a directory
    ) Else If "%%A" NEq "-" (
        Echo %1 is a file
    ) Else (
        Echo %1 does not exist
    )
)
Pause

不要使用 \Nul 机制。

最好使用这个:(只需添加一个反斜杠(

if exist "%ALLUSERSPROFILE%" (
    echo Folder exist
) else (
    echo Folder does not exist
)

相关内容

  • 没有找到相关文章

最新更新