I have a simple bat script that copies files from an known directory to a directory given by the user. How can I pass the path (it might contain spaces) to my script and use it with the xcopy command?
In my code i have the following
:READ_PWA_PATH if '%1' == '' ( rem Set default path set PWA_PATH='C:\Program Files\PWA' rem echo You have not specified your PWA url. echo Default will be assumed: C:\Program Files\PWA. choice /C:YN /M:'Do you wish to continue [Y] or cancel the script [N]?' IF ERRORLEVEL ==2 GOTO CANCEL IF ERRORLEVEL ==1 GOTO READ_WSS_SERVER_EXTENSIONS_PATH GOTO END ) else ( set PWA_PATH=%1 )
If I simply call the script I get the following error:
C:\Projects\Setup>install.cmd 'C:\program files (x86)' ----------------- SETUP SCRIPT ----------------- files was unexpected at this time. C:\Projects\Setup>
Interesting one. I love collecting quotes about quotes handling in cmd/command.
Your particular scripts gets fixed by using %1 instead of ‘%1’ !!!
By adding an ‘echo on’ ( or getting rid of an echo off ), you could have easily found that out.