Душа была в тройных цитатах:
По какой-то причине
echo oLink.arguments = Chr (34) & "c: \ Data \ File 1.ext" & Chr (34)
Делает файл 1.ext открытым.
Я знаю, что есть много сообщений по этому вопросу, но есть небольшой поворот в том, что мне нужно сделать.
Я могу понять, как создать ярлык с таким аргументом:
"C:\Program Files\My App\App.exe" /s
Но мне нужно применить путь к файлу, заключенному в "", в качестве аргумента, подобного этому:
"C:\Program Files\My App\App.exe" "c:\Data\File.ext"
Обратите внимание на двойные кавычки.
Я не могу найти примеры VBscript, иллюстрирующие это поведение.
Это то, на чем я основал свой текущий сценарий.
@echo off set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs" echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT% echo sLinkFile = "%USERPROFILE%\Desktop\myshortcut.lnk" >> %SCRIPT% echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT% echo oLink.TargetPath = "D:\myfile.extension" >> %SCRIPT% echo oLink.Save >> %SCRIPT% cscript /nologo %SCRIPT% del %SCRIPT%
Душа была в тройных цитатах:
По какой-то причине
echo oLink.arguments = Chr (34) & "c: \ Data \ File 1.ext" & Chr (34)
Делает файл 1.ext открытым.
Попробуйте добавить
echo oLink.arguments = "c:\Data\File.ext"
До oLink.save.
Если вы обнаружите, что вам все еще нужно включить кавычки (я не думаю, что вы это сделаете), вы можете утроить их в командном файле.
echo oLink.arguments = """c:\Data\File 1.ext"""
Самые внешние кавычки - это те, которые ограничивают строку, а внутренние двойные кавычки, заключенные в двойные кавычки, должны помещать двойные кавычки в строку.