次のパスファイルにフォルダーが既に作成されているとしましょう:"C:\users\charqus\desktop\MyFolder"
、そして私はCMDで次のコマンドを実行します:
mkdir "C:\users\charqus\desktop\MyFolder"
次のようなメッセージが表示されます:"サブディレクトリまたはファイルC:\ users\charqus\desktop\MyFolderは既に存在します"。
したがって、コマンドラインにこの返されたメッセージを取り除くコマンドはありますか?エコーオフを試しましたが、これは私が探しているものではありません。
出力をnul
にリダイレクトします
mkdir "C:\users\charqus\desktop\MyFolder" > nul
コマンドによっては、エラーのリダイレクトも必要になる場合があります。
mkdir "C:\users\charqus\desktop\MyFolder" > nul 2> nul
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
上で示したように、このコマンドは元の警告を正常に抑制します。ただし、次の例のように、ディレクトリを作成できない場合:
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.
次にわかるように、問題を説明するエラーメッセージが表示されます。