Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 如何抑制以下批处理文件代码中的错误流_File_Batch File - Fatal编程技术网

File 如何抑制以下批处理文件代码中的错误流

File 如何抑制以下批处理文件代码中的错误流,file,batch-file,File,Batch File,我在批处理文件中使用以下代码将所有MP3文件从一组目录(总是在更改)复制到特定位置,然后删除MP3文件。代码可以工作,但大多数时候都找不到MP3文件。我正在尝试清理批处理窗口中显示的内容。当找不到MP3文件时,我总是收到一条“找不到文件”的消息。我正试图抑制找不到的文件。产生错误的行是for/f“delims行(特别是dir部分)。如果我快速移动复制和删除行,我仍然会得到错误。我尝试将>nul和2>nul放在dir语句末尾,首先放在右引号之前,然后放在右引号之后的每个位置。在双引号之前,我仍然会

我在批处理文件中使用以下代码将所有MP3文件从一组目录(总是在更改)复制到特定位置,然后删除MP3文件。代码可以工作,但大多数时候都找不到MP3文件。我正在尝试清理批处理窗口中显示的内容。当找不到MP3文件时,我总是收到一条“找不到文件”的消息。我正试图抑制找不到的文件。产生错误的行是for/f“delims行(特别是dir部分)。如果我快速移动复制和删除行,我仍然会得到错误。我尝试将>nul和2>nul放在dir语句末尾,首先放在右引号之前,然后放在右引号之后的每个位置。在双引号之前,我仍然会得到FNF,但没有其他错误,在我得到意外>错误之后的每个位置

如何抑制此语句中的错误消息

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 (