Batch File issue, recieving "The Filename, Directory Name, Or Volume Label Syntax Is Incorrect"

4.6k views Asked by At

I'm recieving the following error when I run my batch file "The Filename, Directory Name, Or Volume Label Syntax Is Incorrect"

My batch file runs fine, but this error pops up 25 times and then proceeds. I can't figure out what i'm missing here. Below is my code:

::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

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

Any help would be great!

Thanks!

Derek

1

There are 1 answers

1
paxdiablo On

Try taking out the :: comments and replacing them with rem ones. I've had difficulties in the past with using these inside control structures like if.

See here for an explanation. In fact that whole site is an incredible resource for cmd.exe scripters who, for some reason or another, aren't allowed to install CygWin.

Failing that, comment out the @echo off and see what it's doing when those errors appear.