VisualBasic Ordner durchsuchen und Verknüpfungen erstellen

ViToRiO92

Cadet 2nd Year
Registriert
Juli 2010
Beiträge
23
Hallo,
ich würde gerne automatisch mehrere
Ordner mit Unterordnern nach bestimmten Dateitypen(z.B. .avi) durchsuchen
und Verknüpfungen zu den dort abgelegten Files erstellen lassen.
Weiß jemand ob es dazu ein Programm gibt?
Wenn nicht könntet ihr mir dann einige Anregungen zum
Programmieren eines Scriptes geben?
 
Also Dateien in einem Verzeichniss kann man sich mit der Funktion dir() zurück geben lassen. Die kannst du dir schon mal anschauen. Mehrere Verzeichnisse habe ich auch noch nicht durchsuchen lassen...
 
Hi,

Also wenn ich deine Lösung teste, mit einer Batchdatein und der Machlinke.exe im selben Ordner, dann kommt in der Shell eine Meldung das die Machlink Datei nicht gefunden wurde.

Könntest du die Codezeile etwas näher erklären? Wo werden den die Verknüpfungen den überhaupt gespeichert?
Ich gehe davon aus das ich vor der Zeile noch angeben muss wo ich mich befinde, d.h. z.B. so

Code:
d:\Filme
for /f %%a IN ('dir /b /s *.avi') do call MachLink.exe  -q:"%%a" -z:"%%a.lnk
 
dir /b /s *.avi

liest vom aktuellen Ordner inklusive Unterordner alle .avi Dateien ein. Wenn du nicht den aktuellen Ordner nehmen willst, dann kannst du den Pfad im dir Befehl angeben:

dir /b /s D:\Filme\*.avi



Damit bekommst du die Liste zurück. Die for /f Schleife ruft für jeden Eintrag der Liste die machlink.exe auf

-q:"%%a" -z:"%%a.lnk

%%a ist dabei der Pfad zu einer avi. Die Links werden demnach in dem Ordner angelegt, wo auch die jeweilige .avi liegt.

Am Ende der Zeile fehlt übrigens noch der letzte ".


Eigentlich eine einfache Kiste. Mit Batch Mitteln alleine kann man keine Links anlegen, höchstens mit VBScript. Aber wenn die machlink.exe ihren Job erfüllt dann hast du ja eine elegante Lösung.
 
Nutze 32Bit-WinXP; da funktioniert's tadellos. Evtl. funktioniert die machlink.exe nicht auf 64Bit?!

Code:
for /f %%a IN ('dir /b /s *.wmv') do call MachLink.exe  -q:"%%a" -z:"%%a.lnk"
for /f %%a IN ('dir /b /s *.lnk') do call move "%%a" "%userprofile%\desktop"

Mit der For-Schleife werden alle Dateien in sämtlichen Unterordnern mit dem Dateityp .wmv gesucht > per Machlink wird die ausgelesene q:(elle) als Link im z:(iel) erstellt > im weiteren Schritt werden die Verknüpfungen .lnk gesucht und auf den Desktop verschoben
 

Anhänge

  • machlink.gif
    machlink.gif
    4,3 KB · Aufrufe: 161
Zuletzt bearbeitet:
Hi,

Jetzt hab ich kapirt und es funktioniert jetzt auch:)
Vielen Dank für eure Hilfe
 
Zurück
Oben