cha*_*qus 12 windows shell batch-file
假设我已经在下一个路径文件上创建了一个文件夹:"C:\users\charqus\desktop\MyFolder",然后在CMD上运行下一个命令:
mkdir "C:\users\charqus\desktop\MyFolder"
Run Code Online (Sandbox Code Playgroud)
我收到这样的消息:"子目录或文件C:\ users\charqus\desktop\MyFolder已经存在".
因此,命令行中是否有任何命令可以删除此返回的消息?我试着回声,但这不是我想要的.
Rog*_*and 31
将输出重定向到 nul
mkdir "C:\users\charqus\desktop\MyFolder" > nul
Run Code Online (Sandbox Code Playgroud)
根据命令,您可能还需要重定向错误:
mkdir "C:\users\charqus\desktop\MyFolder" > nul 2> nul
Run Code Online (Sandbox Code Playgroud)
Microsoft在此描述了这些选项,这对于阅读非常有用.
先前的答案显示了如何抑制命令的所有输出。这将删除在命令失败时显示的有用错误文本。以下示例显示了更好的方法:
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
Run Code Online (Sandbox Code Playgroud)
如上所示,此命令成功抑制了原始警告。但是,如果无法创建目录,如下例所示:
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.
Run Code Online (Sandbox Code Playgroud)
然后可以看到,会显示描述问题的错误消息。