While path and filename inputs of all Actions of Automation Workshop are handled automatically, the Run CMD Command Action requires the use of "double quotes" when specifying the command line (in a similar manner as double quotes are used in the Windows command prompt itself).
History
Since introduction of long filename (LFN) support, it became possible to use not only file names longer than 8 characters, but also many of previously disallowed characters. Being a progressive shift and allowing much better organization of files and folders, long file names also posed some challenges…
For example, previously disallowed space character which was used exclusively as a separator character now is allowed as a part of file name. Which in turn requires a different method of separation between file names and parameters.
Spaces & quotes
Now, whenever, a file name or path contains space characters, it is necessary to use double quotes to delimit file names (as well as command line parameters when they contain space characters). The use of quotes is optional in cases when no space characters are involved.
Run CMD Command Action automatically adds double quotes to file name input (e.g., when the browse button is used). However, there are essential situations when deciphering the intended syntax is not even remotely possible; e.g., invoking a command in command line (using the Run CMD Command Action).
Due to very design of file naming schemes and their processing, it is not possible to automatically deal with ambiguities inherent in command line specifications.
Example
Example of C:\test case\my file.bat
string that could potentially be delimited as…
"C:\test" "case\my" "file.bat"
· runstest
with paramscase\my
andfile.bat
"C:\test" "case\my file.bat"
· runstest
with paramcase\my file.bat
"C:\test case\my" "file.bat"
· runsmy
with paramfile.bat
"C:\test case\my file.bat"
· runsmy file.bat
without any parameters
Summary
It is evident, thus, that a correct specification of parameters requires a necessary disambiguation of the command line input by quote delimiting the elements appropriately. Even more, such disambiguation can not be accomplished automatically on the basis of formal processing of command line input.
Run more?
- Start App
- Run CMD Command
- Remote FTP Command
- Remote SSH Command
- Execute Script
- Open Document
- Start Task
- Stop Task
Ask for more…
If you have any questions, please do not hesitate to contact our support team.