尝试在Windows服务器上运行一些脚本。该代码的目的是检查给定目录 F:\ TestFolder ,以获取名称中以 IB30321 * 开头的1个或多个文件的到达。
如果文件未到达给定目录,则脚本会在再次检查之前休眠5分钟。找到正确的文件后,它将退出脚本。
不幸的是,我收到以下错误,有什么想法可以解决这个问题吗?
FINDSTR:命令行错误
找到的文件数量不正确,预计会有1个文件
@Echo off
cd /D "%F:\TestFolder%"
Set numfiles=0
For /f "tokens=1,* delims=:" %%A in (
'Dir /B "IB30321*" ^| findstr /n ^ '
) DO Set numfiles=%%a&Set filename=%%B
If %numfiles% equ 1 (
echo %filename% found
exit /B 0
) else (
echo "Incorrect number of files found, 1 file expected"
set numfiles=0
Timeout /T 300
)
答案 0 :(得分:0)
详细说明我的评论。
@Echo off
cd /D "%F:\TestFolder%"
:Loop
Set numfiles=0
For /f "tokens=1,* delims=:" %%A in (
'Dir /B "IB30321*" 2^>NUL ^| findstr /n ^ '
) DO Set numfiles=%%a&Set filename=%%B
If %numfiles% equ 1 (
echo %filename% found
exit /B 0
) else (
echo "Incorrect number of files found, 1 file expected"
Timeout /T 300
)
Goto :Loop