Чи є спосіб прочитати рядок коду, який підняв рівень помилок зсередини пакетного файлу після його виконання? (Боюся, немає).
Наприклад, команда 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.