2012-08-28 150 views
0

我有一个本地运行PHP脚本在此如何以静默方式取消映射映射网络驱动器

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

但如果T I办:已映射或SUBST”到其他位置我想先取消映射它。所以我做这个

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

但是当T:没有映射的高管净使用将错误打印到控制台,当它映射而不是SUBST”的EXEC SUBST将打印错误的安慰。我希望在控制台窗口中有干净的输出,因此在尝试取消映射未映射的驱动器时不会出现错误。问题是我绝对没有线索如何去解决这个问题..我可以打印错误消息吗?如果不是,只有驱动器映射时才能运行命令?那么,巧合的是,我怎么知道我是否应该使用net use/d或subst/d?

回答

2

在每个命令之后添加一个> NUL以将其输出管道输出到...无处。 即exec('net use T: /DELETE /y > NUL');

+1

我认为它应该是'exec('net use T:/ DELETE/y 2> NUL');'因为我们想将STDERR重定向为null。 – cleong