Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Desktopverknüpfung per VBS ohne Anführungszeichen im Ziel

Frage Entwicklung VB for Applications

Mitglied: WiSch

WiSch (Level 1) - Jetzt verbinden

23.07.2010, aktualisiert 17:07 Uhr, 8169 Aufrufe, 5 Kommentare

Hallo.

Ich habe ein VBS-Script erstellt nach Vorlagen aus diesem Forum hier.
Damit lege ich eine Desktopverknüpfung an, was prinzipiell auch gut funktioniert.
Das Ziel ist jedoch eine lokale URL zu einem Javaprogramm das ich aber direkt über Java und nicht per Umweg über den Browser starten möchte.
Das Script sieht aktuell so aus:

01.
' Verknüpfung auf dem Desktop anlegen per VBS-Scripting 
02.
 
03.
' Variablenvorgabe 
04.
Const strProgrammtitel="NAME" 'Name der Verknüpfung 
05.
Const strProgramm="%windir%\system32\javaws.exe http://<URL>/javaanwendung.jnlp" 'Programm das Verknüpft werden soll 
06.
Const strAusfuehrenIn="%windir%" 'Verzeichnis -Ausführen in- 
07.
Const strIcon="C:\meinicon.ico" 'Eigenes Icon für die Verknüpfung  
08.
 
09.
Dim ObjShell 
10.
Set ObjShell = CreateObject("WScript.Shell") 
11.
ObjShell = msgbox("Wollen Sie eine Desktopverknüpfung anlegen?", +vbYesNo+vbExclamation ,"") 
12.
If ObjShell = vbYes then 
13.
  Dim objShortcut 
14.
  'Dim objShell 
15.
  Set objShell= WScript.CreateObject("Wscript.Shell") 
16.
  strLPfad=objShell.SpecialFolders("Desktop") 
17.
  Set objShortcut=objShell.CreateShortcut(strLPfad & "\" & strProgrammtitel & ".lnk") 
18.
  objShortcut.TargetPath= strProgramm 
19.
  objShortcut.WorkingDirectory= strAusfuehrenIn 
20.
  objShortcut.Description= strProgrammtitel 
21.
  ' objShortcut.IconLocation = strProgram & ", -1500"      'Programmicon verwenden 
22.
  objShortcut.IconLocation = strIcon & ", -1500"      'Eigenes Icon verwenden 
23.
  objShortcut.Save 
24.
End if
Mein Problem ist nun, das die Verknüpfung zwar mein 'strProgramm' als Inhalt hat, allerdings jeweils mit Anführungszeichen
davor und dahinter... ohne würde der Link funktionieren.

Wie bekomme ich die weg?

Und als zusätzliche Frage: Kann ich das sich öffenede Dos-Fenster beim Lauf der VBS unterdrücken?


Danke für Eure Hilfe.
Mitglied: TsukiSan
24.07.2010 um 11:56 Uhr
Hallo WiSch,

was mich erst einmal wundert ist das
%windir%
Und wo hast du denn dein Problem mit den Gänsefüßchen?
In deinem Beispiel wird
strProgramm
doch gar nicht mit " angezeigt?

Gruss
Tsuki
Bitte warten ..
Mitglied: Biber
24.07.2010 um 13:26 Uhr
Moin WiSch,

auch ich verstehe die Frage nicht ganz... ich kann auch nicht nachvollziehen, wo denn Gänsefüsschen zu sehen sind...??

Aber ich würde dennoch mindestens eine Sache ändern.

In die Property "TargetPath" gehört nach meinem ästhetischen Empfinden wirklich nur das "Programm", also bei dir die javaws.exe.
[Anmerkung: Variablen wie %windir% sollten bei einem Desktop-Link (=Kontext ist angemeldeter Benutzer) aufgelöst werden.
Du hast doch den Zugriff auf das User-Environment.]

Die Parameter gehören (ohne zusätzliche Anführungszeichen) in das optionale Property objShortCut.Arguments

Zur Zusatzfrage (VBS ohne sichtbares Fenster laufen lassen) müsste die Forumssuche ein paar Treffer liefern.
Wobei ich nicht ganz durchschaue
a) von wo denn
b) wieso denn mehr als einmal im Leben
du denn diese Shortcut-Erstellung aufrufst.

Grüße
Biber
Bitte warten ..
Mitglied: WiSch
24.07.2010 um 17:02 Uhr
Hallo.

Mehr Details:
Ich habe eine Java-Anwendung (nicht von mir) die ich per URL starten kann.
Dafür soll auf allen Clients im Netz ein Desktoplink zur Verfügung gestellt werden.
Der Aufruf nur der URL alleine funktioniert, öffnet aber immer ein Browserfenster (oder einen neuen Tab im geöffneten Browser).
-> Ist das der IE, dann öffnet sich dieser und schließt nach Java-Programmstart wieder (oder halt nur den entsprechenden Tab).
-> Ist das der FF, dann bleibt der nach Java-Programmstart geöffnet.
Beide möchte ich nicht, deshalb der Start über die javaws.exe.

Bei mir lokal hat der Link nur mit "javaws.exe" nicht funktioiniert, weshalb ich den Pfad davor gepackt habe. Dieser wiederum muß ja nicht zwingend auf allen Clients gleich sein, deshalb das %windir% ...

Doch zurück zum Gänsefüßchen:
Wenn ich das Script hier verwende, dann bekomme ich einen Link der prinzipell genau so ist wie ich Ihn haben möchte, nur funktioniert er leider nicht.
Wenn ich dann über die Eigenschaften im Feld ZIEL die umschließenden Gänsefüßchen vor und hinter dem Ziel entferne und das übenehme, dann funktioniert es...

Wenn ich den Link manuell anlege und das Ziel angebe, dann klappte es auch und Windows fügt nicht automatisch irgendwelche Gänsefüßchen ein.
Also muß das doch irgendwie aus dem Script kommen, oder verstehe ich hier was Grundsätzliches falsch?

Gruß,
WiSch
Bitte warten ..
Mitglied: Biber
24.07.2010 um 17:22 Uhr
Moin WiSch,

danke für die Erläuterung.

Ich kann das Problem zwar immer noch nicht richtig fassen bzw. eine Lösung anbieten, aber noch mal zwei Anregungen.
a) Thema "%windir% kann bei jedem Client ein anderes sein" - ja nee, keine Frage.
Aber dennoch kannst du es doch bei Anlegen des Links auflösen. [Mit Betonung auf "du kannst es". Denn ob Windows immer alle Umgebungsvariablen auflösen mag, die in Links oder vor allem in Registrywerten stehen... ich bin da Pessimist.] Aber das war ohnehin nur eine Fussnote.. hatte nichts mit der eigentlichen Frage zu tun.
b) was hältst du denn zur Problemeingrenzung von einer kleinen Laubsägearbeit? Mal die Werte des manuell erzeugten funktionierenden Links mit WScript.echo per VBS ausgeben und die automatisiert erzeugten drüberlegen?
Und mal posten, was da jetzt wo übersteht?

Grüße
Biber
Bitte warten ..
Mitglied: WiSch
24.07.2010 um 19:51 Uhr
Hallo Biber.

Das mit der "Laubsägearbeit" war eine gute Idee!!
Ich betätige mich innerhalb von Batch und VBS als 'Scriptkid', habe folgendes Script zum auslesen der Infos gefunden und genutzt (Zur Info, falls mal jemand in diesen Beitrag guckt und es gebrauchen kann):
01.
set WshShell = WScript.CreateObject("WScript.Shell") 
02.
 strDesktop = WshShell.SpecialFolders("Desktop") 
03.
 set Link1 = WshShell.CreateShortcut(strDesktop & "\NAME_DER_VERKNÜPFUNG.lnk") 
04.
 msgbox "Targetpath = " & Link1.TargetPath  & vbcrlf _ 
05.
  & "WorkingDirectory = " & Link1.WorkingDirectory & vbcrlf _ 
06.
  & "Arguments = " & Link1.Arguments & vbcrlf _ 
07.
  & "WindowStyle = " & Link1.WindowStyle & vbcrlf _ 
08.
  & "Hotkey = " & Link1.Hotkey & vbcrlf _ 
09.
  & "IconLocation = " & Link1.IconLocation & vbcrlf _ 
10.
  & "Description = " & Link1.Description & vbcrlf
Dabei ist dann herausgekommen, das als ZIEL die javaws.exe angegeben wird und als ARGUMENT "meine" URL zum Javaprogramm.... Ich hatte das die ganze Zeit andersrum probiert....

Kaum macht man es richtig, dann funktioniert es auch!
Hier das Script, wie ich es aktuell nun nutze:
01.
' Verknüpfung auf dem Desktop anlegen per VBScript 
02.
 
03.
' Variablenvorgabe 
04.
Dim objShell 
05.
Dim objShortCut 
06.
   
07.
Set objShell = CreateObject("WScript.Shell") 
08.
strWinDir = objShell.ExpandEnvironmentStrings("%WinDir%")  ' Windows Systemverzeichnis ermitteln 
09.
strLPfad=objShell.SpecialFolders("Desktop")  'Pfad zum Desktop 
10.
 
11.
strProgrammtitel = "NAME"  'Name der Verknüpfung 
12.
strProgramm = strWinDir & "\system32\javaws.exe"  'Programm das Verknüpft werden soll 
13.
strArguments = "http://<URL>/javaanwendung.jnlp"  'Startargumente für das zu startende Programm 
14.
strAusfuehrenIn = strWinDir  'Verzeichnis -Ausführen in- 
15.
strIcon = "C:\meinicon.ico"  'Eigenes Icon für die Verknüpfung    
16.
 
17.
' Rueckfrage ob Erstellung der Verknüpfung ok ist 
18.
ObjShell = msgbox("Wollen Sie eine Desktopverknüpfung anlegen?", +vbYesNo+vbExclamation ,"")  
19.
 
20.
' Ist ok? Dann erstellen 
21.
If ObjShell = vbYes then 
22.
Set objShell= WScript.CreateObject("Wscript.Shell") 
23.
Set objShortCut=objShell.CreateShortCut(strLPfad & "\" & strProgrammtitel & ".lnk") 
24.
objShortCut.Arguments= strArguments 
25.
objShortCut.TargetPath= strProgramm 
26.
objShortCut.WorkingDirectory= strAusfuehrenIn 
27.
objShortCut.Description= strProgrammtitel 
28.
' objShortcut.IconLocation = strProgram & ", -1500"      'Programmicon verwenden 
29.
objShortCut.IconLocation = strIcon & ", -1500"           'Eigenes Icon verwenden 
30.
objShortCut.Save 
31.
End if
Habt dank für die Hilfe.

Grüße,
WiSch
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Anführungszeichen in Batch Datei ausgeben
gelöst Frage von AtalicsBatch & Shell6 Kommentare

Guten Abend Leute, ich wollte eine Verknüpfung per CMD erstellen (Code von bastla, funktioniert ohne meine Veränderungen einwandfrei ^^), ...

RedHat, CentOS, Fedora
Erstellen von Desktopverknüpfungen und Anpassung der Taskleiste
gelöst Frage von honeybeeRedHat, CentOS, Fedora2 Kommentare

Hallo, wie kann ich in CentOS 7 Desktopverknüpfungen erstellen und die Taskleiste anpassen bzw. Icons dort hinzufügen? Hatte mal ...

Batch & Shell
Powershell scriptblock - Anführungszeichen
gelöst Frage von Markus2016Batch & Shell3 Kommentare

Hallo zusammen, ich verzweifel gerade beim Setzen der Anführungszeichen für meinen Scriptblock. :-( Der ursprüngliche Scriptblock funktioniert. Diesen möchte ...

Batch & Shell
Maskieren von Anführungszeichen in CMD
Frage von Marc92Batch & Shell4 Kommentare

Guten Tag, ich habe folgendes Problem und hoffe, dass mir jemand weiterhelfen kann. Wir haben ein Ticketsystem im Einsatz ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 2 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 7 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 8 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 20 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...