2

我需要一个包含多个驱动器映射语句的批处理文件,如下所示:

@echo off
net use Q: \\serve\share

当驱动器已连接时,我收到系统错误 85。如何监视 85 错误并采取自己的措施(如廉价的 goto already_connected)?如果它是 85 以外的任何错误,我希望看到显示的消息(或从变量中获取并显示它......无论如何)。

我已经尝试了一些我找到的示例,但我似乎无法抑制系统错误显示,并且我无法弄清楚如何专门针对 85 错误进行陷阱。如果我能得到一个关于如何进行错误抑制、捕获等的示例,我可能可以制作其余的代码。

谢谢,

4

2 回答 2

2

不是在 map 之后检查错误,而是在错误之前检查 map

编辑以纠正现有地图搜索中的错误

    call :doMap q: "\\server\share"
    ....

:doMap drive share
    rem search for drive map in server
    net use | find /i "%~1" | find /i "%~2" > nul
    if errorlevel 1 (

        rem if not found, test if drive letter is mapped
        rem and remove map if needed
        net use | find /i "%~1" > nul && net use "%~1" /delete >nul

        rem map drive to server share
        net use %~1 "%~2" > nul

    ) 
    goto :eof
于 2013-10-31T17:07:53.407 回答
1
net use Q: \\serve\share 2>&1 | find "85" &&(
  echo error 85
)

??

于 2013-10-31T16:20:03.890 回答