Batch file 在空目录上使用带通配符的移动时,如何抑制错误消息?

Batch file 在空目录上使用带通配符的移动时,如何抑制错误消息?,batch-file,cmd,Batch File,Cmd,我正在使用以下命令将文件从源移动到目标: move c:\src\* c:\dst 当src中存在文件时,此操作有效,但当目录为空时,会显示以下错误消息: The filename, directory name, or volume label syntax is incorrect. 如何抑制此错误?这是一个外观/管理/UX问题,如果没有文件要移动,那么我就不需要采取任何进一步的行动。因此,您的真正目标是仅当源文件夹中存在文件时才有条件地移动文件 dir /b /a-d c:\src\*

我正在使用以下命令将文件从源移动到目标:

move c:\src\* c:\dst
src
中存在文件时,此操作有效,但当目录为空时,会显示以下错误消息:

The filename, directory name, or volume label syntax is incorrect.

如何抑制此错误?这是一个外观/管理/UX问题,如果没有文件要移动,那么我就不需要采取任何进一步的行动。

因此,您的真正目标是仅当源文件夹中存在文件时才有条件地移动文件

dir /b /a-d c:\src\* >nul 2>nul && move c:\src\* c:\dst

因此,您真正的目标是仅当源文件夹中存在文件时才有条件地移动文件

dir /b /a-d c:\src\* >nul 2>nul && move c:\src\* c:\dst

因此,您真正的目标是仅当源文件夹中存在文件时才有条件地移动文件

dir /b /a-d c:\src\* >nul 2>nul && move c:\src\* c:\dst

因此,您真正的目标是仅当源文件夹中存在文件时才有条件地移动文件

dir /b /a-d c:\src\* >nul 2>nul && move c:\src\* c:\dst


您可以尝试
move c:\src\*c:\dst 2>nul
。@aschipfl:我不想抑制其他可能是真正错误的消息。
move c:\src\*c:\dst 2>&1 | findstr/V/c:“卷标语法”
@Aacini:是否保证字符串“卷标语法”正确不会出现在真正的错误消息中?不会。我刚刚展示了一个示例,说明了如何“不抑制可能是真正错误的其他消息”。由您选择要过滤的正确文本。例如,您可以使用以下命令:
move c:\src\*c:\dst 2>&1 | findstr/V/c:“文件名、目录名或卷标语法不正确”
您可以尝试
move c:\src\*c:\dst 2>nul
。@aschipfl:我不希望抑制可能是真正错误的其他消息。
move c:\src\*c:\dst 2>&1 | findstr/V/c:“卷标语法”
@Aacini:是否保证字符串“卷标语法”不会出现在真正的错误消息中?否。我刚刚展示了一个示例,说明如何“不抑制可能是真正错误的其他消息”“。由您选择要筛选的正确文本。例如,您可以使用以下命令:
move c:\src\*c:\dst 2>&1 | findstr/V/c:“文件名、目录名或卷标语法不正确”
您可以尝试
move c:\src\*c:\dst 2>nul
。@aschipfl:我不希望抑制可能是真正错误的其他消息。
move c:\src\*c:\dst 2>&1 | findstr/V/c:“卷标语法”
@Aacini:是否保证字符串“卷标语法”不会出现在真正的错误消息中?否。我刚刚展示了一个示例,说明如何“不抑制可能是真正错误的其他消息”“。由您选择要筛选的正确文本。例如,您可以使用以下命令:
move c:\src\*c:\dst 2>&1 | findstr/V/c:“文件名、目录名或卷标语法不正确”
您可以尝试
move c:\src\*c:\dst 2>nul
。@aschipfl:我不希望抑制可能是真正错误的其他消息。
move c:\src\*c:\dst 2>&1 | findstr/V/c:“卷标语法”
@Aacini:是否保证字符串“卷标语法”不会出现在真正的错误消息中?否。我刚刚展示了一个示例,说明如何“不抑制可能是真正错误的其他消息”“。由您选择要筛选的正确文本。例如,您可以使用以下命令:
move c:\src\*c:\dst 2>&1 | findstr/V/c:“文件名、目录名或卷标语法不正确”
如果源文件夹中必须始终存在具有特定扩展名的文件,如果源文件夹中必须始终存在具有特定扩展名的文件,则可以使用更简单的
如果存在c:\src\*。ext move c:\src\*c:\dst
如果源文件夹中必须始终存在具有特定扩展名的文件,则可以使用更简单的
如果存在c:\src\*。ext move c:\src\*c:\dst
,如果源文件夹中必须始终存在具有特定扩展名的文件,则可以使用更简单的
如果存在c:\src\*。ext move c:\src\*c:\dst
如果源文件夹中必须始终存在具有特定扩展名的文件,则可以使用更简单的
如果存在c:\src\*。ext move c:\src\*c:\dst