How can I run a command in my dos script from an input argument ?
Simplified script bla.bat:
CALL %1
Call it:
bla.bat “echo ‘hello'” (or bla.bat “git status”)
Error:
‘”git status”‘ is not recognized as an internal or external command,
operable program or batch file.
It works if I do “CALL git status”.
It looks like the problem may be that you have surrounding quotes in your input, which you’ll need to stop it being broken into the different %n arguments, but try:
%~1Which will strip any surrounding quotes from the input.%~$PATH:1which will strip any surrounding quotes then search within the $PATH env-var for the first match, then expand the string to include the full path to the command, which won’t work for git using the windows distro because git is a batch file, and cmd would look forgit status.batIf its to be used with git, you may as well use %~1 and %~2 to call git then provide the argument to the git batch file, or call git.exe directly by modifying your $PATH. But remember that git.bat does some enviroment setup of its own before calling git itself.