如何使用批处理命令检查文件中是否存在行?

时间:2013-02-05 19:07:03

标签: batch-file

我有一个文本文件,里面有一些文字。我想检查文件文件中是否存在使用批处理命令的“系统找不到指定的文件”。

我在本地计算机上尝试使用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”路径来检查文件路径。

任何帮助都将受到高度赞赏。

1 个答案:

答案 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的最后一个值,对吗?这似乎不是你的意图。