Links (Shortcuts) automatisch Korrigieren

Antworten
Fredel
Beiträge: 679
Registriert: So 21. Feb 2016, 20:45
bevorzugter Onlinevideorecorder: Save.TV

Links (Shortcuts) automatisch Korrigieren

Beitrag von Fredel » So 22. Mai 2016, 21:11

Verwaiste Links lassen sich in Windows 7 + nicht mehr automatisch korrigieren. Hier präsentiere ich die Lösung.

Voraussetzung: Der Dateiname ist unverändert
Probleme: wenn gleiche Namen bei unterschiedlichen Dateitypen
Potential: Multiple Pfade sind möglich

Mein Video Archiv umfasst mehrere Festplatten, viele unterschiedliche Pfade. Die wichtigsten paar tausend Dateien sind durch Verknüpfungen organisiert, so genannte Windows Datei-Verknüpfungen (Shortcuts, lnk-Dateien), welche häufig nicht mehr stimmen, automatisch gepflegt werden wollen.

1. Liste aller Dateien
dir R:\MP4;S:\MP4;T:\MP4;U:\MP4;V:\MP4;W:\MP4;X:\MP4;Y:\MP4 /B /S > dir.txt

2. Liste aller zu bearbeitenden Links, am besten im Verzeichnis der Links ausgeführt
dir /S /B *.lnk > dir_link.txt

3. Access o.a. 1-spaltige Tabellen verlinken
Wer Microsoft Access nicht zur Verfügung hat, kann jedes andere Programm verwenden, welches die Feldinhalte zweier Tabellen verknüpfen und Text-Funktionen auf die Feldinhalte ausführen kann.

4. ID/Index für dir.txt daher in einer Auswertung filtern (wenn nötig) und Pfad, sowie Dateierweiterung entfernen

Code: Alles auswählen

DirID: Ersetzen(Teil([Feld1];InStrRev([Feld1];"\";-1;1)+1);".mp4";"";1;1)
als weiteres Feld wählt Ihr hier den vollständigen Inhalt von Feld1 zusätzlich, daher Pfad und Dateiname

5. ID/Index für dir_link.txt daher in einer Auswertung Pfad und Dateierweiterung entfernen

Code: Alles auswählen

LinkID: Ersetzen(Teil([Feld1];InStrRev([Feld1];"\";-1;1)+1);".lnk";"";1;1)
als weiteres Feld wählt Ihr den vollständigen Inhalt von Feld1 zusätzlich, daher Pfad und Dateiname

6. in einer weiteren Auswertung verknüpft Ihr Feld DirID mit LinkID
Es werden alle Übereinstimmungen angezeigt. Die zusätzlich mitlieferten vollständigen Pfade werden nun für den Edit der Shortcuts benötigt:

Code: Alles auswählen

Ausdr1: 'shortcut /A:E /F:"' & Abfrage5!Feld1 & '" /T:"' & Abfrage4!Feld1 & '" /I:C:\Windows\system32\imageres.dll,18 /W:C:\Windows\Temp'
Mit Copy Paste ins CMD oder mit einer Anfügeabfrage (Automatisierung) erhaltet Ihr für jede Übereinstimmung einen vollwertigen Batch Befehl.

Den genauen "Shortcut Edit" Befehl könnt Ihr natürlich an Eure Bedürfnisse anpassen. Würde vorher einen Test machen. Eine angepasste Access Abfrage kann natürlich auch alle Fails liefern (Verknüpfungstyp der Felder LinkID und DirID anpassen).


jDownloader & Save.TV: 1. Schritte - automatischer Download <--> Save.TV Manager Version 3 Update: Favoriten retten

Link:
BBcode:
HTML:
Hide post links
Show post links

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast