09.03.2007, 11:03

Markus Pilzweger

Windows 2000, XP: Cmd-Dateilisten und VB-Script

Sie wollen eine umfangreiche Dateiliste erstellen und in einem VB-Script weiterverarbeiten. Beim Anlegen der Dateiliste haben Sie die Wahl zwischen zwei Methoden. Jede hat ihren Nachteil: Das Einlesen der Dateien mit VB-Script benötigt einigen Code und dauert relativ lang. Die Alternative mit einem DIR-Befehl via Kommandozeile ("cmd.exe /c dir ...“) ist wesentlich schneller, hinterlässt aber Ascii-Text und verstümmelt gegebenenfalls deutsche Sonderzeichen. Wir zeigen Ihnen, wie Sie dieses Problem lösen können.
Anforderung: Fortgeschrittener
Zeitaufwand: Mittel
Problem:
Sie wollen eine umfangreiche Dateiliste erstellen und in einem VB-Script weiterverarbeiten. Beim Anlegen der Dateiliste haben Sie die Wahl zwischen zwei Methoden. Jede hat ihren Nachteil: Das Einlesen der Dateien mit VB-Script benötigt einigen Code und dauert relativ lang. Die Alternative mit einem DIR-Befehl via Kommandozeile („cmd.exe /c dir ...“) ist wesentlich schneller, hinterlässt aber Ascii-Text und verstümmelt gegebenenfalls deutsche Sonderzeichen.
Lösung:
Der Schalter /a der Cmd.EXE, der laut Microsoft-Beschreibung Ansi-Text erzeugen soll, funktioniert bekanntlich nicht. Sie können dennoch auf die schnelle DIR-Methode zurückgreifen, indem Sie Dateilisten im Unicode-Format ablegen. Der Cmd-Schalter /u arbeitet nämlich tadellos:
cmd.exe /u /c dir /a-d /s /b c:\*.* > c:iste.txt
Wenn Sie einen derartigen Befehl mit der Run-Methode in ein VB-Script einbauen, können Sie die erzeugte Dateiliste danach ohne Zeichencode-Probleme durchsuchen und filtern. Sie müssen nur beim Öffnen der Dateiliste in VB-Script explizit angeben, dass es sich um Unicode handelt:
set temp = FSO.GetFile(“c:iste.txt“)
set datei = temp.OpenAsTextStream(1,-1)
Der allerletzte Parameter -1 in diesem Zweizeiler sorgt für die Interpretation des Unicode-Zeichensatzes.
Damit Sie die reibungslose Zusammenarbeit der Cmd-Unicode-Ausgabe und eines VB-Filters an einem konkreten Beispiel nachvollziehen können, finden Sie :hier Datei pcwCmd_Filter.VBS. Das Script liest die gewünschten Ordner- oder Laufwerksinhalte ein und erlaubt via Inputbox eine Suche nach Dateien. Für alle Treffer erstellt das Script eine Verknüpfung in einem automatisch geöffneten Ordner – man kann die Dateien also sofort benutzen.
Diskutieren Sie mit anderen Lesern über dieses Thema:
Windows 8: Alle Informationen
Windows 8
Alle Details

Alle Informationen und Updates zum neuen Betriebssystem Windows 8 von Microsoft. mehr

- Anzeige -
PC-WELT Specials
Angebote für PC-WELT-Leser
PC-WELT Onlinevideothek

PC-WELT Online-Videothek
Keine Abogebühren oder unnötige Vertragsbindungen. Filme und Games bequem von zu Hause aus leihen.

Tarifrechner
Der PC-WELT Preisvergleich für DSL, Strom und Gas. Hier können Sie Tarife vergleichen und bequem viel Geld sparen.

PC-WELT Sparberater
Das Addon unterstützt Sie beim Geld sparen, indem es die besten Angebote automatisch während des Surfens sucht.

- Anzeige -
Marktplatz
Amazon

Amazon Preishits
jetzt die Schnäpchen bei den Elektronikartikel ansehen! > mehr

Kaspersky KIS

Mit SICHERHEIT surfen
... dank Premium-Internetschutz auf Ihrem PC. Schon ab 39,95 €. > Jetzt informieren!

730209
Content Management by InterRed