File 如何抑制以下批处理文件代码中的错误流
我在批处理文件中使用以下代码将所有MP3文件从一组目录(总是在更改)复制到特定位置,然后删除MP3文件。代码可以工作,但大多数时候都找不到MP3文件。我正在尝试清理批处理窗口中显示的内容。当找不到MP3文件时,我总是收到一条“找不到文件”的消息。我正试图抑制找不到的文件。产生错误的行是for/f“delims行(特别是dir部分)。如果我快速移动复制和删除行,我仍然会得到错误。我尝试将>nul和2>nul放在dir语句末尾,首先放在右引号之前,然后放在右引号之后的每个位置。在双引号之前,我仍然会得到FNF,但没有其他错误,在我得到意外>错误之后的每个位置 如何抑制此语句中的错误消息File 如何抑制以下批处理文件代码中的错误流,file,batch-file,File,Batch File,我在批处理文件中使用以下代码将所有MP3文件从一组目录(总是在更改)复制到特定位置,然后删除MP3文件。代码可以工作,但大多数时候都找不到MP3文件。我正在尝试清理批处理窗口中显示的内容。当找不到MP3文件时,我总是收到一条“找不到文件”的消息。我正试图抑制找不到的文件。产生错误的行是for/f“delims行(特别是dir部分)。如果我快速移动复制和删除行,我仍然会得到错误。我尝试将>nul和2>nul放在dir语句末尾,首先放在右引号之前,然后放在右引号之后的每个位置。在双引号之前,我仍然会
set dSource=C:\Users\pc\Documents\Recordings\VOX
set dTarget=c:\recordings
set fType=*.mp3
for /f "delims=" %%f in ('dir /a-d /b /s "%dSource%\%fType%"') do (
copy /V "%%f" "%dTarget%\" 2>nul
del "%%f" 2> nul
)
谢谢
流浪者
插入符号^
会“转义”
,告诉cmd
它是dir
命令的一部分(如果有效),而不是的(如果无效)
(同样适用于|
-通常用于管道连接到查找/findstr
)AFAICS您不需要用于/f
的目录,只需用于/r%%f in(%dsource%\%ftype%)do…
应该给出相同的文件名列表(如果有),如果没有,则不会给出错误消息。Dave,我在使用修改后的代码时没有发现相同的结果。我更改了示例代码(最后一行从del改为dir,并删除副本),只是为了看看它会产生什么。我的代码会生成一个找到的文件列表(只是filename.ext)。(%dsource%\%ftype%)中的for/r%%f确实…代码运行了一段时间,但没有输出。很抱歉,我测试了几个变体,但发布了错误的变体。请尝试(%ftype%)中的/r%dsource%%f的用%%f…
做点什么吧!哦,我差一点就到了!我在发帖后找到了^statement,并尝试了它。我一定是把它放错地方了。非常感谢你的帖子。它解决了我的问题。
for /f "delims=" %%f in ('dir /a-d /b /s "%dSource%\%fType%" 2^>nul') do (