在Windows命令行中禁止显示错误消息

时间:2013-11-30 09:35:55

标签: windows shell batch-file

假设我已经在下一个路径文件中创建了一个文件夹:"C:\users\charqus\desktop\MyFolder",我在CMD上运行下一个命令:

mkdir "C:\users\charqus\desktop\MyFolder"

我收到如下消息:“子目录或文件C:\ users \ charqus \ desktop \ MyFolder已经存在”

因此,命令行中是否有任何命令可以删除此返回的消息? 我试着回声,但这不是我想要的。

2 个答案:

答案 0 :(得分:27)

将输出重定向到nul

mkdir "C:\users\charqus\desktop\MyFolder" > nul

根据命令的不同,您可能还需要重定向错误:

mkdir "C:\users\charqus\desktop\MyFolder" > nul 2> nul

Microsoft describes the options here,这是有用的阅读。

答案 1 :(得分:3)

之前的答案显示了如何压制命令的所有输出。这将删除命令失败时显示的有用错误文本。以下示例显示了一种更好的方法:

C:\test>dir
     Volume in drive C has no label.
     Volume Serial Number is 4E99-B781

     Directory of C:\test

    20/08/2015  20:18    <DIR>          .
    20/08/2015  20:18    <DIR>          ..
                   0 File(s)              0 bytes
                   2 Dir(s)  214,655,188,992 bytes free

C:\test>dir new_dir >nul 2>nul || mkdir new_dir >nul 2>nul || mkdir new_dir

C:\test>dir new_dir >nul 2>nul || mkdir new_dir >nul 2>nul || mkdir new_dir

如上所示,此命令成功禁止原始警告。但是,如果无法创建目录,请参见以下示例:

C:\test>icacls c:\test /deny "Authenticated Users":(GA)
processed file: c:\test
Successfully processed 1 files; Failed processing 0 files

C:\test>dir new_dir2 >nul 2>nul || mkdir new_dir2 >nul 2>nul || mkdir new_dir2
Access is denied.

然后可以看出,会显示一条描述问题的错误消息。