0

我在运行批处理文件时收到以下错误“文件名、目录名或卷标语法不正确”

我的批处理文件运行良好,但此错误弹出 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

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

任何帮助都会很棒!

谢谢!

德里克

4

1 回答 1

1

尝试删除::评论并用评论替换它们rem。过去我在使用这些内部控制结构(如if.

请参阅此处以获取解释。事实上,对于出于某种原因不允许安装 CygWin 的脚本编写者来说,整个站点是一个令人难以置信的资源。cmd.exe

如果做不到这一点,请注释掉@echo off并查看当这些错误出现时它在做什么。

于 2011-02-17T14:45:23.037 回答