Saya tahu ada banyak posting tentang masalah ini tetapi ada sedikit perubahan pada apa yang harus saya lakukan.
Saya bisa mengetahui cara membuat pintasan dengan argumen seperti ini:
"C:\Program Files\My App\App.exe" /s
Tapi saya perlu menerapkan path file yang dibungkus "" sebagai argumen seperti ini:
"C:\Program Files\My App\App.exe" "c:\Data\File.ext"
Perhatikan tanda kutip ganda.
Saya tidak dapat menemukan contoh VBscript yang menggambarkan perilaku ini.
Ini yang menjadi dasar skrip saya saat ini.
@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%
Jawaban:
Soultion adalah tiga kutipan:
Untuk beberapa alasan
Membuat File 1.ext terbuka.
sumber
Coba tambahkan
echo oLink.arguments = "c:\Data\File.ext"
Sebelum oLink.save.
Jika Anda masih perlu menyertakan tanda kutip (saya rasa Anda tidak akan melakukannya), Anda dapat melipatgandakannya dalam file batch.
echo oLink.arguments = """c:\Data\File 1.ext"""
Kutipan terluar adalah yang membatasi string, dan bagian dalam tanda kutip ganda digandakan untuk menempatkan kutipan ganda dalam string.
sumber
echo oLink.arguments = Chr(34) & "c:\Data\File 1.ext" & Chr(34)