简体   繁体   中英

How do I format the Target field of a Windows SendTo shortcut to quote the paths I'm passing to it?

OS: Windows 10

I have a Windows shortcut in my SendTo folder with the following Target:

C:\Windows\System32\cmd.exe /c "C:\Program Files\Path\To\Executable.exe"

This works just fine if I pass it a file or files without spaces in their filenames. But if I pass it files with spaces, I get the following error:

'C:\Program' is not recognized as an internal or external command, operable program or batch file.

(I changed it to /k to see the error. /c terminates right away, so I couldn't see the error message.)

If I launch it from inside a CMD session, I would do:

C:\Windows\System32\cmd.exe /c ""C:\Program Files\Path\To\Executable.exe" "path to/first" "path to/second""

But I'm not sure how to tell the Target field to do that. I tried:

C:\Windows\System32\cmd.exe /c ""C:\Program Files\Path\To\Executable.exe" "%1" "%2" "%3""

But that passed a literal %1 as the first argument, a literal %2 as the second argument, and then the file that I right-clicked and chose "Send To -> MyShortcut", prepended by a literal "%3 " as the third argument.

I need to be able to pass at most three arguments.

cmd.exe is stupid and will strip quotes if the command starts and ends with quotes.

Change the shortcuts command to C:\Windows\System32\cmd.exe /c if 1==1 "C:\Program Files\Path\To\Executable.exe"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM