fcp.vbs, Version: 1.0, ist ein Skript zum Kopieren von ganzen Ordner-Hierarchien, einzelnen Ordnern, Gruppen von Dateien und einzelnen Dateien. Es erlaubt eine recht große Flexibilität.
Die Syntax zum Kopieren von Ordner-Hierarchien ist:
fcp.vbs <source-folder> <destination-folder>
Hiermit wird <source-folder> mit ALLEN Unterverzeichnissen nach <destination-folder> kopiert.
Beispiel:
fcp.vbs c:\windows d:\win_save
Die Syntax zum Kopieren von Dateien ist:
fcp.vbs <[source-folder]\<source-file(s)> <destination-folder>
Hiermit wird/werden die spezifierte(n) Datei(en) <source-file(s)> nach <destination-folder> kopiert. Es werden nur die Datei(en) in <source-folder> kopiert. Unterverzeichnisse werden NICHT kopiert! Die Wildcards ‚*‘ und ‚?‘ werden in der üblichen (DOS/WINDOWS) Art verwendet.
Beispiele:
fcp.vbs xyz.dat d:\
Kopiert die Datei „xyz.dat“ vom aktuellen Laufwerk/Verzeichnis in das Stamm-Verzeichnis von „d:“
fcp.vbs c:windows\symbols\dll*.* d:\pgm_symbols
fcp.vbs c:windows\*.dll d:\save_dll
Diese Beispiele dürften selbsterklärend sein!
Zusätzlich werden folgende Schalter unterstützt:
Anmerkung: Falls Schalter verwendet werden, MÜSSEN diese unbedingt VOR den Parametern <Source> resp. <Destination> angegeben werden.
- „-m“ VERSCHIEBT die angegebenen Objekte von <source> nach <dest> anstatt zu kopieren. Grundsätzlich können ganze Ordner mit dem im Script verwendeten „Scripting.FileSystemObject“ nur innerhalb des gleichen Laufwerks verschoben werden!
- Der Schalter „-f“ erzwingt das Verschieben von Ordnern zwischen verschiedenen Laufwerken, indem <source> zunächst nach <dest> KOPIERT wird und anschliessend <source> gelöscht wird.
- „-?“ Zeigt die Aufruf-Syntax des Scripts an und terminiert.
Bei fehlerhaften Parametern in der Kommandozeile wird die Fehlerursache, bzw. die korrekte Syntax wahlweise in das Ereignisprotokoll geschrieben oder dem User in einer MessageBox angezeigt. Der Ausgabe-Modus wird als Prozedur-Parameter der Syntax()-Sub festgelegt. Wird Ereignisprotokoll gewünscht, ist der 2. Parameter auf „false“ zu setzen, ansonsten auf „true“.
Zusätzliche Features:
Grundsätzlich werden alle Aktionen (sowohl Erfolg als auch Misserfolg), versehen mit Datum/Uhrzeit im Windows-Ereignisprotokoll (Anwendung/Application) protokolliert.
Das Script überprüft bei jedem Kopier-Lauf, ob auf dem Ziel-Laufwerk noch genügend Speicherplatz zur Verfügung steht. Dies funktioniert aufgrund eines Bugs in der GetFolder-Methode des Scripting.FileSystemObject, nicht immer, insbesondere wenn mit dem GetFolder()-Aufruf eine sehr grosse Ordner- Hierarchie (wie zum Beispiel das WINDOWS-Verzeichnis) angefordert wird. Die Size-Eigenschaft des Folder-Objekts ist dann leer. Ansonsten, wenn der benötigte Speicherplatz nicht zur Verfügung steht, wird ein Eintrag ins Ereignis-Protokoll geschrieben und das Script abnormal beendet.
Sollten noch „Features“ auftauchen, die hier nicht genannt sind, so sind diese nicht unbedingt gewollt (*g*).
In diesem Fall bitte eine E-Mail an den Autor: reiner.ziegler (at) mail.regio.net – mit einer (möglichst genauen) Fehlerbeschreibung schreiben.
Falls jemand Verschläge hat, was man besser machen könnte oder anders machen sollte, habe ich auch dafür ein offenes Ohr!
Zum Schluss noch eine obligate Anmerkung:
Ich habe mich nach bestem Wissen und Gewissen bemüht, diese Software möglichst fehlerfrei zu programmieren. Wie bei jedem Programm, das nicht gerade „Hello World“-Niveau hat, kann ich auch bei diesem Programm nicht auschliessen, das sich noch der eine oder andere Fehler eingeschlichen hat!
Reiner Ziegler, 12.04.2005
Download:
fcp: Dateien und Ordner kopieren (6,1 KiB, 3.989-mal heruntergeladen, letzte Änderung am 11. September 2005)
http://faq-o-matic.net/?p=628