Hallo,
ein umfangreicher, verknüpfter Dateibestand (Ordner mit Unterordnern) wurde in einen anderen Ordner verschoben. Ich möchte in einem Rutsch die Pfade aller Link-Dateien mit dem neuen Verzeichnis als Verknüpfungsziel versehen.
Folgendes Script funktioniert nicht richtig:
# modLink.ps1 alle Verknüpfungsziele im Ordner und seinen Unterordnern ändern $fileName ="*.lnk" # Verknüpfung suchen $folder = "H:\Temp\Verknüpfungen-Test" # im Verzeichnis [string]$from = "H:\tools\*.*" # bisheriges Verknüpfungsziel [string]$to = "Z:\hajo\Tools\*.*" # neues Verknüpfungsziel $list = Get-ChildItem -Path $folder -Filter $fileName -Recurse | Where-Object { $_.Attributes -ne "Directory"} | select -ExpandProperty FullName $obj = New-Object -ComObject WScript.Shell ForEach($lnk in $list) { $obj = New-Object -ComObject WScript.Shell $link = $obj.CreateShortcut($lnk) [string]$path = $link.TargetPath [string]$path = [string]$path.Replace($from.tostring(),$to.ToString()) #If you need workingdirectory change please uncomment the below line. #$link.WorkingDirectory = [string]$WorkingDirectory.Replace($from.tostring(),$to.ToString()) #$link.Arguments = "-arguments" $link.TargetPath = [string]$path $link.Save() }
Kann mir jemand das script berichtigen?
Gruß hajosch