【发布时间】:2020-05-24 12:18:00
【问题描述】:
非常感谢有关如何进行以下工作的一些建议。
我正在使用 CMD 脚本来制作快捷方式 LNK 文件。它通过使用>> 将各种命令回显到 VBS 文件来实现这一点。
其中一个命令称为oLink.Arguments。
目前我的工作示例设置如下:
oLink.Arguments = "/run /tn Custom_Scripts\TaskName" >>%VBSScript%
这仅适用于Custom_Scripts\TaskName 中没有空格的情况。但是,我需要脚本来处理包含空格的任务名称。
我需要做的只是手动放置引号,如下所示:
"Custom_Scripts\TaskName"
但是,当设置时,命令行无法输出该行,因为已经存在引号。
例子:
oLink.Arguments = "/run /tn "Custom_Scripts\TaskName"" >>%VBSScript%
不起作用。我尝试了各种方法,例如三引号或转义引号,但没有成功。
如果我没有很好地解释这一点,我深表歉意,但希望那里的人可能有他们愿意与我分享的解决方案或想法。
编辑:
来自我在this 答案下方的评论。
SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
echo sLinkFile = "C:\TechTools\Scripts\Create_an_elevated_shortcut\myshortcut.lnk" >> %SCRIPT%
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
echo oLink.TargetPath = "C:\TechTools\O&O\ShutUp10\OOSU10.exe" >> %SCRIPT%
echo oLink.Arguments = "/run /tn Custom_Scripts\Task_Name" >> %SCRIPT%
echo oLink.Save >> %SCRIPT%
cscript /nologo %SCRIPT%
只要"Custom_Scripts\Task_Name" 中没有空格,此方法就有效。
【问题讨论】:
-
无法复制。
echo oLink.Arguments = "/run /tn "Custom Scripts\TaskName"" >>test.txt将oLink.Arguments = "/run /tn "Custom Scripts\TaskName""写入文件中。
标签: batch-file vbscript parameters shortcut quoting