littleNicon
Cadet 1st Year
- Registriert
- Juli 2018
- Beiträge
- 10
Hallo @ all
Ich werde nicht schlau aus einem vbs script...
Das Ziel wäre eine Verknüpfung den Ziel (Pfad) zu verändern. Hab auch schon nach bestimmten Lösungen gesucht.
Fündig werde ich nur wie ich mit vbs eine Verknüpfung erstelle oder diese auslesen kann.
Nur wenige und alte Beiträge gehen auf das Thema ein.
Ich möchte auch nur ein bestimmter abschnitt ändern z.b.
C:\Program File\alter Order\Test-tool.exe
C:\Program File\neuer Ordner\Test-tool.exe
Bei dem gefundenen script sollte der alte Pfad genau übereinstimmen...
sonst ändert er die Verknüpfung nicht. Und wie ich eine Variable einbaue, versteh ich nicht.
On Error Resume Next
set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
set objArgs = WScript.Arguments
set fld = fso.GetFolder(objArgs(0))
set fc = fld.Files
For Each f1 in fc
If UCase(Right(f1.name, 3)) = "LNK" Then
Set sl = WshShell.CreateShortcut(f1.Path)
z = sl.TargetPath
z = Replace(z, "D:\Alter\Pfad", "D:\Neuer\Pfad")
sl.TargetPath = z
y = sl.WorkingDirectory
y = Replace(z, "D:\Alter\Pfad", "D:\Neuer\Pfad")
sl.WorkingDirectory = y
sl.Save
End If
Next
WScript.Echo "Änderungen ausgeführt!"
Info:
------------------------------------------------------
Kopiere den Text zwischen den Linien in die Zwischenablage
und füge ihn in ein leeres Editor(Notepad)-Fenster ein.
Speichere die Datei als "ChangeShortcut.vbs" in Deinem
Ordner "SendTo", den findest Du unter
C:\Users\DeinName\AppData\Roaming\Microsoft\Window s\SendTo.
Danach klicke im Windows Explorer mit der rechten Maustaste
auf den Ordner, der die Verknüpfungen enthält und wähle im
Kontextmenü "Senden an", wähle "ChangeShortcuts.vbs". In dem
Script musst Du die Bezeichnungen für den alten und neuen
Pfad vorher so ändern, dass dort die tatsächlichen Angaben
stehen. Nun wird jede Verknüpfung, in der als Ziel
"D:\Alter\Pfad" vorhanden ist, in "D:\Neuer\Pfad" geändert.
Falls der Pfad auch unter "Ausführen in" eingetragen ist,
wird er dort ebenfalls geändert. Verknüpfungen, in denen
"D:\Alter\Pfad" nicht vorkommt, werden nicht verändert.
Etwaige Argumente bleiben unverändert.
Wenn die Änderungen fertig sind, gibt es eine Meldung,
während der Ausführung wird *nichts* angezeigt.
Ich bedanke mich jetzt schon fürs lesen und antworten.
Gurss littleNicon
Ich werde nicht schlau aus einem vbs script...
Das Ziel wäre eine Verknüpfung den Ziel (Pfad) zu verändern. Hab auch schon nach bestimmten Lösungen gesucht.
Fündig werde ich nur wie ich mit vbs eine Verknüpfung erstelle oder diese auslesen kann.
Nur wenige und alte Beiträge gehen auf das Thema ein.
Ich möchte auch nur ein bestimmter abschnitt ändern z.b.
C:\Program File\alter Order\Test-tool.exe
C:\Program File\neuer Ordner\Test-tool.exe
Bei dem gefundenen script sollte der alte Pfad genau übereinstimmen...
sonst ändert er die Verknüpfung nicht. Und wie ich eine Variable einbaue, versteh ich nicht.
On Error Resume Next
set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
set objArgs = WScript.Arguments
set fld = fso.GetFolder(objArgs(0))
set fc = fld.Files
For Each f1 in fc
If UCase(Right(f1.name, 3)) = "LNK" Then
Set sl = WshShell.CreateShortcut(f1.Path)
z = sl.TargetPath
z = Replace(z, "D:\Alter\Pfad", "D:\Neuer\Pfad")
sl.TargetPath = z
y = sl.WorkingDirectory
y = Replace(z, "D:\Alter\Pfad", "D:\Neuer\Pfad")
sl.WorkingDirectory = y
sl.Save
End If
Next
WScript.Echo "Änderungen ausgeführt!"
Info:
------------------------------------------------------
Kopiere den Text zwischen den Linien in die Zwischenablage
und füge ihn in ein leeres Editor(Notepad)-Fenster ein.
Speichere die Datei als "ChangeShortcut.vbs" in Deinem
Ordner "SendTo", den findest Du unter
C:\Users\DeinName\AppData\Roaming\Microsoft\Window s\SendTo.
Danach klicke im Windows Explorer mit der rechten Maustaste
auf den Ordner, der die Verknüpfungen enthält und wähle im
Kontextmenü "Senden an", wähle "ChangeShortcuts.vbs". In dem
Script musst Du die Bezeichnungen für den alten und neuen
Pfad vorher so ändern, dass dort die tatsächlichen Angaben
stehen. Nun wird jede Verknüpfung, in der als Ziel
"D:\Alter\Pfad" vorhanden ist, in "D:\Neuer\Pfad" geändert.
Falls der Pfad auch unter "Ausführen in" eingetragen ist,
wird er dort ebenfalls geändert. Verknüpfungen, in denen
"D:\Alter\Pfad" nicht vorkommt, werden nicht verändert.
Etwaige Argumente bleiben unverändert.
Wenn die Änderungen fertig sind, gibt es eine Meldung,
während der Ausführung wird *nichts* angezeigt.
Ich bedanke mich jetzt schon fürs lesen und antworten.
Gurss littleNicon