Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file &引用;如果存在Z:\xfile\NUL";如果Z:映射到网络驱动器,则返回文件xfile的true_Batch File_File Exists_Subst - Fatal编程技术网

Batch file &引用;如果存在Z:\xfile\NUL";如果Z:映射到网络驱动器,则返回文件xfile的true

Batch file &引用;如果存在Z:\xfile\NUL";如果Z:映射到网络驱动器,则返回文件xfile的true,batch-file,file-exists,subst,Batch File,File Exists,Subst,我将Z:替换为网络驱动器,例如: subst Z: \\fc\c xfile是一个文件(不是目录!),它存在于替换驱动器的根目录中。下面的语句错误地回显-存在- if exist z:\xfile\nul echo -exists- 这使得xfile看起来像一个目录,而实际上它是一个文件 未替换的驱动器号不会导致问题。非网络驱动器的subst也不会导致问题 是否有解决方法来处理看起来像subst或存在bug的问题?这里有一个通用构造,它应该从.BAT文件参数开始工作(此构造假定它是第一个参数

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

subst Z: \\fc\c
xfile是一个文件(不是目录!),它存在于替换驱动器的根目录中。下面的语句错误地回显-存在-

if exist z:\xfile\nul echo -exists-
这使得xfile看起来像一个目录,而实际上它是一个文件

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


是否有解决方法来处理看起来像subst或存在bug的问题?

这里有一个通用构造,它应该从.BAT文件参数开始工作(此构造假定它是第一个参数
%1
):

@Echo关闭
对于/F“令牌=1-2 Delims=d”%%A In(“-%~a1”)Do(
如果“%%B”NEq”(
Echo%1是一个目录
)否则,如果“%%A”NEq“-”(
回显%1是一个文件
)否则(
回显%1不存在
)
)
暂停

这里有一个通用构造,它应该从.BAT文件参数开始工作(此构造假定它是第一个参数
%1
):

@Echo关闭
对于/F“令牌=1-2 Delims=d”%%A In(“-%~a1”)Do(
如果“%%B”NEq”(
Echo%1是一个目录
)否则,如果“%%A”NEq“-”(
回显%1是一个文件
)否则(
回显%1不存在
)
)
暂停

不要使用\n Nul机制

更好地使用:(只需添加一个反斜杠)


不要使用\Nul机制

更好地使用:(只需添加一个反斜杠)


如果我要在Z:\I中检查名为xfile的文件,我会使用If-Exist Z:\xfile,如果我要在Z:\I中检查名为xfile的目录,我会使用If-Exist Z:\xfile\I已经有十多年没有看到使用
\nul
了。这项工作如何解决:
dir/B/a:D“Z:\xfile”>nul2>&1&&echo-exists-
来检查目录,和
dir/B/A:-D“Z:\xfile”>nul 2>&1&&echo-exists-
检查文件是否存在?如果fname是文件,则@Compo If exist\\server\drv\fname\将(不正确)返回true。我以前使用的是\fname\。检查目录,但当fname是一个文件时给出了假阳性。最近有人告诉我应该使用\nul结构,但现在在网络案例中失败了。@aschipfl是的,我可以做一个混乱的dir解决方案,但这会让我的皮肤爬行。其实我的问题很简单。。。我有一个.BAT文件参数,它是一个可以指向任何地方(本地驱动器、网络路径、subst驱动器)的名称。我想知道它是一个现有的文件,还是一个现有的目录,还是不存在。在这三种情况下,我都需要做一件特殊的事情。对于网络路径,为什么不使用
net use
?如果我要在Z:\I中检查名为xfile的文件,我会使用If Exist Z:\xfile,如果我在Z:\I中检查一个名为xfile的目录,我会使用If Exist Z:\xfile\n我已经十多年没有看到使用
\nul
了。这项工作如何解决:
dir/B/a:D“Z:\xfile”>nul 2>&1&&echo-exists-
检查目录,以及
dir/B/a:-D“Z:\xfile”>nul 2>&1&&echo-exists-
检查文件是否存在?@Compo If exist\\server\drv\fname\当fname是文件时将(不正确)返回true。我以前使用的是\fname\。检查目录,但当fname是一个文件时给出了假阳性。最近有人告诉我应该使用\nul结构,但现在在网络案例中失败了。@aschipfl是的,我可以做一个混乱的dir解决方案,但这会让我的皮肤爬行。其实我的问题很简单。。。我有一个.BAT文件参数,它是一个可以指向任何地方(本地驱动器、网络路径、subst驱动器)的名称。我想知道它是一个现有的文件,还是一个现有的目录,还是不存在。在这三种情况下,我都需要做一件特殊的事情。对于网络路径,为什么不使用
net use
映射到驱动器?非常好。。。我不能打破它,它解决了我的问题!现在我必须找出%a1中9个字符的定义,以供将来参考。在attrib输出中看起来不一样(例如,没有索引的“I”项)。非常好。。。我不能打破它,它解决了我的问题!现在我必须找出%a1中9个字符的定义,以供将来参考。在attrib输出中似乎不相同(例如,没有索引的“I”项)。
if exist "%ALLUSERSPROFILE%\" (
    echo Folder exist
) else (
    echo Folder does not exist
)