Проблема с пакетным файлом, получая «Неверный синтаксис имени файла, имени каталога или метки тома» - PullRequest
0 голосов
/ 17 февраля 2011

Я получаю следующую ошибку при запуске моего пакетного файла «Неверный синтаксис имени файла, имени каталога или метки тома»

Мой пакетный файл работает нормально, но эта ошибка всплывает 25 раз изатем продолжается.Я не могу понять, чего мне здесь не хватает.Ниже мой код:

::This batch file is used to set a static IP and launch Windows Recovery Environment

@setlocal enableextensions enabledelayedexpansion
@echo off

::Setting Static IP Address & DNS Address

netsh interface ipv4 set address "Local Area Connection" static 10.11.111.110 255.255.255.0 10.11.111.249 1

netsh interface ipv4 set dns "Local Area Connection" static 10.11.101.1 primary

::Verify Network Connection

:chklink

set ipaddr=10.11.107.20

set oldstate=neither

set state=down

for /f "tokens=5,7" %%a in ('ping -n 1 !ipaddr!') do (

    if "x%%a"=="xReceived" if "x%%b"=="x1," set state=up
)

if not !state!==!oldstate! (

    echo.Link is !state!

    set oldstate=!state!

)

REM ping -n 2 127.0.0.1 >nul: 2>nul:


SET answer=!state!

IF %answer%==up (

goto recovery


) ELSE (

IF %answer%==down (
::Set static address on NIC 2 if NIC 1 failed

netsh interface ipv4 set address "Local Area Connection 2" static 10.11.111.110 255.255.255.0 10.11.111.249 1

netsh interface ipv4 set dns "Local Area Connection 2" static 10.11.101.1 primary

goto chklink


)
)

::Launch Windows Recovery Environment

:recovery

cls

x:\sources\recovery\recenv.exe

exit

==========================================================

Любая помощь будет отличной!

Спасибо!

Дерек

1 Ответ

1 голос
/ 17 февраля 2011

Попробуйте вынуть :: комментарии и заменить их rem. В прошлом у меня были трудности с использованием этих внутренних структур управления, таких как if.

См. здесь для объяснения. Фактически, весь сайт является невероятным ресурсом для cmd.exe сценаристов, которым по тем или иным причинам не разрешено устанавливать CygWin.

В противном случае закомментируйте @echo off и посмотрите, что он делает, когда появляются эти ошибки.

...