0

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

我已经尝试在我的本地机器上使用 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”路径检查了文件路径。

任何帮助将不胜感激。

4

1 回答 1

0

首先,听起来您正在检查文件是否存在。您可以使用:

if exist {insert file name here} (
    rem file exists
) else (
    rem file doesn't exist
)

接下来,如果将其更改SET a=%%iECHO a=%%i. (你的文件夹出现了吗?)

之后,您的 findstr 发生在循环之外。所以它只会检查 a 的最后一个值,对吗?这似乎不是你的意图。

于 2013-02-05T19:31:31.740 回答