How can I pass arguments to a batch file?

Keng picture Keng · Aug 25, 2008 · Viewed 2M times · Source

I need to pass an ID and a password to a batch file at the time of running rather than hardcoding them into the file.

Here's what the command line looks like:

test.cmd admin P@55w0rd > test-log.txt

Answer

Greg Hewgill picture Greg Hewgill · Aug 25, 2008

Another useful tip is to use %* to mean "all". For example:

echo off
set arg1=%1
set arg2=%2
shift
shift
fake-command /u %arg1% /p %arg2% %*

When you run:

test-command admin password foo bar

the above batch file will run:

fake-command /u admin /p password admin password foo bar

I may have the syntax slightly wrong, but this is the general idea.