0

これを行うローカルで実行されているPHPスクリプトがあります

exec('subst T: C:\\Development');

ただし、 T: が既にマップされているか、他の場所に置き換えられている場合は、最初にマップを解除したいと思います。だから私はこれをします

exec('net use T: /DELETE /y');
exec('subst T: /D');

ただし、T: がマップされていない場合、exec net use はコンソールにエラーを出力し、マップされているsubst でない場合、exec subst はコンソールにエラーを出力します。コンソール ウィンドウにクリーンな出力を表示したいので、マップされていないドライブをマップ解除しようとしてもエラーは発生しません。問題は、これについてどうすればいいのかまったくわからないことです..エラーメッセージの出力を抑制できますか? そうでない場合、ドライブがマップされている場合にのみコマンドを実行するにはどうすればよいですか? 偶然にも、net use /d と subst /d のどちらを実行する必要があるかはどうすればわかりますか?

4

1 に答える 1

2

各コマンドの後に追加して> NUL、出力をどこにもパイプしません。すなわちexec('net use T: /DELETE /y > NUL');

于 2012-08-28T12:12:53.347 に答える