So erstellen Sie eine Desktop-Verknüpfung aus einer Batchdatei

6749
Morten Kahr

Ich weiß, dass es zu diesem Thema viele Beiträge gibt, aber das, was ich tun muss, ist geringfügig.

Ich kann herausfinden, wie man eine Verknüpfung mit einem Argument wie folgt erstellt:
"C:\Program Files\My App\App.exe" /s

Ich muss jedoch den Pfad einer in "" eingeschlossenen Datei als Argument wie folgt anwenden:
"C:\Program Files\My App\App.exe" "c:\Data\File.ext"
Beachten Sie die doppelten Anführungszeichen.

Ich kann keine VBscript-Beispiele finden, die dieses Verhalten veranschaulichen.
Darauf habe ich mein aktuelles Skript aufgebaut.

@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% 
1
Welchen Code / welche Methode verwenden Sie derzeit zum Erstellen Ihrer Verknüpfung? BTW: VBScript! = Batchdatei Ƭᴇcʜιᴇ007 vor 10 Jahren 1
@ techie007 - das weiß ich. Ich rufe ein temporäres VBScript in der Batchdatei auf. So etwas http://superuser.com/a/455383/257686 Morten Kahr vor 10 Jahren 0
Hier finden Sie diese Diskussion unter http://stackoverflow.com/questions/346107/creating-a-shortcut-for-a-exe-from-a-batch-file vembutech vor 9 Jahren 0

2 Antworten auf die Frage

1
user257843

Die Folge waren die dreifachen Zitate:

Aus irgendeinem Grund die

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

Öffnet die Datei 1.ext.

0
Ƭᴇcʜιᴇ007

Versuchen Sie das Hinzufügen

echo oLink.arguments = "c:\Data\File.ext"

Vor dem oLink.save.

Wenn Sie feststellen, dass Sie die Anführungszeichen noch hinzufügen müssen (ich glaube nicht), können Sie sie in der Batch-Datei verdreifachen.

echo oLink.arguments = """c:\Data\File 1.ext"""

Die äußersten Anführungszeichen sind diejenigen, die die Zeichenfolge begrenzen, und die inneren doppelten Anführungszeichen setzen die doppelte Anführungszeichen in die Zeichenfolge.

Ich brauche die Anführungszeichen, da App.exe das Argument aufteilt, wenn es Leerzeichen enthält. Dh C: \ Data \ File 1.ext Morten Kahr vor 10 Jahren 0
@MortenKahr Normalerweise verwende ich Chr (34) anstelle von doppelten Anführungszeichen für das äußere Paar, wie gezeigt [on stackoverflow] (http://stackoverflow.com/a/4192714/935614). nixda vor 10 Jahren 0
@nixda Also echo oLink.arguments = Chr (34) c: \ Data \ File 1.ext Chr (34)? Morten Kahr vor 10 Jahren 0
@MortenKahr `echo oLink.arguments = Chr (34) &" c: \ Data \ File 1.ext "& Chr (34)` nixda vor 10 Jahren 0
Meine Antwort wurde angepasst (nach dem Test). Ƭᴇcʜιᴇ007 vor 10 Jahren 0
@nixda (techie007) Ich werde es morgen früh probieren. Danke vielmals Morten Kahr vor 10 Jahren 0