kaineanung
Goto Top

Icon einer Verküpfung per Batch ändern. Geht das?

Hallo Leute, ich habe mal wieder ein Problem und hoffe auf eure Hilfe.

Unsere Benutzer haben Verknüpfungen auf deren Desktops herumliegen die u.a. auch auf Batch-Dateien im Netzwerk verweisen.
Jetzt habe ich die Aufgabe bekommen per Batchdatei, die beim Anmelden ausgeführt wird (Logon) die Icons einer Verknüpfung zu ändern.
Wenn ich die Suchbegriffe in Google eingebe, so kommen nur Fragen wie man das Icon einer Batch-Datei ändern kann und Antworten das dies nicht geht und das man doch aus eine Verknüpfung auf die Batch macht und dort das Icon manuell ändert.

Ich habe eine Verknüpfung auf eine Batch und ich will per Batch das Icon von dieser Verknüpfung ändern.
Geht das per Batch? Wenn ja, wie?

Ich hoffe auf Antworten und bedanke mich schon einmal im voraus dafür!

Content-Key: 205554

Url: https://administrator.de/contentid/205554

Printed on: April 19, 2024 at 22:04 o'clock

Member: colinardo
colinardo Apr 24, 2013 updated at 10:01:12 (UTC)
Goto Top
Hi kaineanung,

per Batch wüsste ich gerade keinen Weg aber du könntest diese VBS aus deiner Batch ausführen:
(Pfade natürlich anpassen)
Set sh = CreateObject("WScript.Shell")  
Set shortcut = sh.CreateShortcut("C:\Wherever\Shortcut.lnk")  
shortcut.TargetPath = "\\Server\Freigabe\script.cmd"  
shortcut.IconLocation = "notepad.exe, 0"  
shortcut.Save

Bitte nicht vom Namen der Funktion CreateShortcut irritieren lassen. Diese ändert auch Shortcuts wenn sie bereits vorhanden sind.
Das Icon gibst du in Zeile 4 an... (das ",0" bedeutet das erste Resource-Icon das in der Datei enthalten ist; können ja mehrere sein wie in "shell32.dll")
oder den Pfad einer *.ico-Datei angeben

Grüße Uwe
Member: kaineanung
kaineanung Apr 24, 2013 at 09:55:50 (UTC)
Goto Top
Ich habe es noch nicht ausprobiert. Das werde ich noch machen.
Dennoch eine kurze Frage:

ich sehe nirgends wo ich das Icon selber angebe sondern nur den Pfad zur Notepad.exe (ich nehme mal an das das Script das Icon aus der Notepad.exe extrahieren und benutzen soll).
Kann ich da auch ein bereits bestehendes Icon (also als ICO-Datei) angeben?


Wenn das klappt ist das ja schoneinmal gut, als Batchdatei würde es mir jedoch noch mehr zusagen. Also falls der Eine oder Andere noch eine Lösung als Batch-Ausführung hat, bitte her damit.


colinardo, jedenfalls danke ich dir für die superschnelle und kompetente Antwort!
Member: colinardo
colinardo Apr 24, 2013 updated at 09:59:31 (UTC)
Goto Top
Zitat von @kaineanung:
ich sehe nirgends wo ich das Icon selber angebe sondern nur den Pfad zur Notepad.exe (ich nehme mal an das das Script das Icon aus
der Notepad.exe extrahieren und benutzen soll).
Kann ich da auch ein bereits bestehendes Icon (also als ICO-Datei) angeben?
ja kein Problem...
Member: colinardo
colinardo Apr 24, 2013 updated at 10:06:01 (UTC)
Goto Top
Zitat von @kaineanung:
als Batchdatei würde es mir jedoch noch mehr zusagen. Also falls der Eine oder
Andere noch eine Lösung als Batch-Ausführung hat, bitte her damit.
Hier gibt es ein Kommandozeilen-Tool für Batch:
Doku
Download

face-wink viel Erfolg
Member: kaineanung
kaineanung Apr 24, 2013 at 11:45:03 (UTC)
Goto Top
Danke dir colinardo, jetzt versuche ich mich erst mit dem VBS-Script, und wenn das nicht so klappt wie gewünscht dann werde ich das mit der Batch machen (ich tendiere jetzt eher zur VBS da dort kein externes Tool benötigt wird).

Kannst du mir noch sagen wir ich an ein VBS Parameter in Form von einem Pfad übergeben kann?
Ich habe hier bereits eine Batch-'Prozedur' die ermittelt welche OS benutzt wird um somit den All-Useres-Pfad zu ermitteln um damit zum Public-Desktop zu gelangen (wo sich die lnk-Dateien befinden).

Leider hat MS ja von XP auf Windows7 die Umgebungsvariable %allusersprofile% auf %public% geändert.....
Somit würde ich den entsprechenden Pfad als Parameter an die VBS übergeben.
Member: colinardo
colinardo Apr 24, 2013 updated at 11:53:51 (UTC)
Goto Top
Zitat von @kaineanung:
Kannst du mir noch sagen wir ich an ein VBS Parameter in Form von einem Pfad übergeben kann?

'Parameter 1  
parameter1 = wscript.arguments(0)
'Parameter 2  
parameter2 = wscript.arguments(1)
usw.
Member: kaineanung
kaineanung Apr 24, 2013 at 12:26:48 (UTC)
Goto Top
colinardo

DANKE! Hat mit dem VBS super geklappt!