Michelle Daniel
Michelle Daniel

Reputation: 165

Windows batch file syntax

The following windows 7 batch file script returns the error:

@ECHO OFF

if exist C:\Program Files (x86)\ E1\P45V goto WIN7

ren /s /c "c:\Program Files\ E1\P45V\P45Login.bmp" "c:\Program Files\E1\P45V\P45Login_OLD.bmp"
copy "\\locattion14\temp\E1\P45Login.bmp" "c:\Program Files\ E1\P45V\P45Login.bmp"

goto END

:WIN7

ren /s /c "c:\Program Files (x86)\ E1\P45V\P45Login.bmp" "c:\Program Files (x86)\E1\P45V\P45Login_OLD.bmp"
copy "\\locattion14\temp\E1\P45Login.bmp" "c:\Program Files (x86)\ E1\P45V\P45Login.bmp"

:END

The syntax of the command is incorrect

Using PSTOOLs to push out a change to computers, and will add the list when the syntax error is corrected.

The desired result:

If the pc is an XP machine, rename the P45login.bmp file to same name_OLD.bmp, then copy the file from loaction 14 into the directory noted.

If the PC is a Win 7 machine, skip the first part, go to the second part, and commit the same changes.

close the session.

I have moved quotes, added/subtracted switches, but arrive at the same error.

Surely it is just a simple syntax particularity that I am not catching.

Hoping someone will take a look, see the obvious I am missing, and point me in the right direction,.

Thank you for any help or suggestions.

Upvotes: 0

Views: 2987

Answers (1)

wmz
wmz

Reputation: 3685

Your ren syntax is wrong. ren does not support any switches and also rename_to needs to be name only, not full path. See full details here: http://technet.microsoft.com/en-us/library/cc754276%28v=ws.10%29.aspx

Additionally:
- if exists needs quotes around path
- you use both \ E1\ or \E1\ (with or without space). While both could be valid, I would double check if that's not an error.
- if the paths above are actually different, you need to use move (with full paths) instead of ren.

Upvotes: 3

Related Questions