Cara membuat pintasan desktop dari file batch

1

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%
Morten Kahr
sumber
1
Kode / metode apa yang saat ini Anda gunakan untuk membuat jalan pintas Anda? BTW: VBScript! = File Batch
Ƭᴇcʜιᴇ007
@ techie007 - Saya sadar. Saya memanggil VBScript sementara dari dalam file batch. Sesuatu seperti ini superuser.com/a/455383/257686
Morten Kahr
Di sini periksa diskusi ini stackoverflow.com/questions/346107/…
vembutech

Jawaban:

1

Soultion adalah tiga kutipan:

Untuk beberapa alasan

echo oLink.arguments = Chr (34) & "c: \ Data \ File 1.ext" & Chr (34)

Membuat File 1.ext terbuka.

pengguna257843
sumber
0

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.

Ƭᴇcʜιᴇ007
sumber
Saya perlu tanda kutip karena App.exe memecah argumen jika mengandung spasi. Yaitu C: \ Data \ File 1.ext
Morten Kahr
@MortenKahr Biasanya saya menggunakan Chr (34), bukan tanda kutip ganda untuk pasangan luar seperti yang ditunjukkan pada stackoverflow
nixda
@nixda Jadi echo oLink.arguments = Chr (34) c: \ Data \ File 1.ext Chr (34)?
Morten Kahr
@MortenKahrecho oLink.arguments = Chr(34) & "c:\Data\File 1.ext" & Chr(34)
nixda
Menyesuaikan jawaban saya (setelah pengujian).
Ƭᴇcʜιᴇ007