我需要一个包含多个驱动器映射语句的批处理文件,如下所示:
@echo off
net use Q: \\serve\share
当驱动器已连接时,我收到系统错误 85。如何监视 85 错误并采取自己的操作(例如便宜的 goto has_connected)?如果是 85 以外的任何错误,我想查看显示的消息(或从变量中获取它并显示它......无论如何)。
我已经尝试了一些我找到的示例,但我似乎无法抑制系统错误显示,并且我无法弄清楚如何专门捕获 85 错误。如果我能得到如何进行错误抑制、捕获等的示例,我可能可以编写其余的代码。
谢谢
最佳答案
不要在 map 之后检查错误,而是在错误之前检查 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
关于batch-file - 如何监视特定命令行错误 (Windows)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19711516/