我有一个文本文件,里面有一些文字。我想检查文件文件中是否存在使用批处理命令的“系统找不到指定的文件”。
我在本地计算机上尝试使用FINDSTR命令,它按预期工作。但是当我在远程计算机上尝试它时,即使字符串不存在于文本文件中,它也总是显示匹配。
以下是我的代码:
--> Getting the latest folder in a directory.
FOR /F "delims=" %%i IN ('dir /b /ad-h /o "\\BuildServer\xyz_build\Daily Build (Main)\"') DO (
SET a=%%i
)
findstr /c:"The system cannot find the file specified" "F:\Deploy\FreshBuild\%a%.txt" (where %a% is the file name)
if %errorlevel%==0 (
ECHO String exists.
)
仅供参考:我通过回显“F:\ Deploy \ FreshBuild \%a%.txt”路径来检查文件路径。
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
首先,听起来你正在检查文件是否存在。你可以使用:
if exist {insert file name here} (
rem file exists
) else (
rem file doesn't exist
)
接下来,如果您将SET a=%%i
更改为ECHO a=%%i
,输出结果如何。 (你的文件夹出现了吗?)
之后,你的findstr发生在循环之外。所以它只会检查a的最后一个值,对吗?这似乎不是你的意图。