【问题标题】:Suppress "File Not Found" in Batch File抑制批处理文件中的“找不到文件”
【发布时间】:2017-10-26 13:03:18
【问题描述】:

我试图在 bat 文件下运行,它给出了文件夹中存在的文件数量,我根据文件获取计数,但如果没有文件,我会得到“找不到文件”

计数为 0,这没关系,但我想禁止“找不到文件”

脚本:

@echo off

setlocal enabledelayedexpansion

@echo off

set c2=0

echo Folder,NoOfFiles

for  /f "tokens=*" %%x in ('dir /s /a /b "D:\Flow\Flow1\Flow2\Flow3\NGR*.txt"') do set /a c2+=1

echo.NGR,!c2!

结果:

文件夹,NoOfFiles

找不到文件

NGR,0

按任意键继续。 . .

我尝试使用 2>nul,但这也不起作用

有人可以帮我解决吗,这里可以做什么?

【问题讨论】:

    标签: batch-file file-not-found


    【解决方案1】:

    尝试:

    for  /f "tokens=*" %%x in ('dir /s /a /b "D:\Flow\Flow1\Flow2\Flow3\NGR*.txt" 2^>nul') do set /a c2+=1
    

    【讨论】:

    • 工作得很好 :) 谢谢 :) 你能帮我理解为什么我们使用“^”吗?
    • @RishabhBhargav - 因为您正在使用另一个命令,所以您需要使用插入符号转义重定向符号 >。由于重定向具有更高的优先级,因此首先需要将其解析为字符串然后执行。
    猜你喜欢
    • 2011-08-15
    • 1970-01-01
    • 2020-08-21
    • 2020-08-10
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多