【问题标题】:how to silently unmap mapped network drives如何静默取消映射映射的网络驱动器
【发布时间】:2012-08-28 12:10:24
【问题描述】:

我有一个本地运行的 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?

【问题讨论】:

    标签: php exec net-use subst


    【解决方案1】:

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

    【讨论】:

    • 我认为应该是exec('net use T: /DELETE /y 2> NUL');,因为我们想将 STDERR 重定向到 null。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多