Есть ли способ прочитать строку кода, которая подняла уровень ошибки из пакетного файла после его выполнения? (Боюсь, что нет).
Например, команда net use H: \\MyComputer\sharename02
приведет к System error 85 has occurred. The local device name is already in use.
В этом случае диск H: недоступен, а уровень ошибки больше не равен 0.
Моя цель - получить эту команду для ее изменения, примерно так:
@echo off
set _counter=0
net use F: \\MyComputer\sharename01 /persistent:No
IF %ERRORLEVEL% NEQ 0 goto manip
_counter=_counter+1
:next2
net use H: \\MyComputer\sharename02 /persistent:No
IF %ERRORLEVEL% NEQ 0 goto manip
_counter=_counter+1
:next3
net use I: \\MyComputer\sharename03 /persistent:No
IF %ERRORLEVEL% NEQ 0 goto manip
_counter=_counter+1
IF %ERRORLEVEL% EQU 0 goto end
:manip
(do something with...
_variable="\\MyComputer\sharenameXY"
...)
_counter=_counter+1
if _counter==3 (goto end)
else (goto next%_counter%)
:end
Секция :manip
будет работать с командой net use H: \\MyComputer\sharename02
которая хранится в _variable
.
Я знаю, что такого рода проблемы не совсем подходят для пакетной обработки, и, вероятно, ее будет легче решить с помощью VBscript вместо пакетной.
Надеюсь, что есть решение, иначе мне нужно было бы переписать все, что у меня уже есть, в VBscript или Powershell.