# Kleines Programm/Script zum kopieren von USB-Sticks gesucht



## gsmiata (24. März 2007)

Hallo beinander,

bin leider, was Programmieren angeht eine absolute "Vollnull". 
Es geht um folgendes, ich muß 2500 USB Stick mit einer Datei bespielen und suche eine Möglichkeit dies ein wenig einfacher zu gestalten.

Habe mir das in etwa so vorgestellt:

- aktiver USB Hub mit 4 Ports (oder mehr)
- Hub wird mit den USB Sticks bestückt
- Programm ausführen, welches nun automatisch die Datei auf alle USB Sticks kopiert
- schön wäre noch ein Popup, welches bestätigt, das der Kopiervorgang beendet wurde

Ist soetwas problemlos möglich?

Wäre für Eure Hilfe sehr dankbar!

Gruß

Gavin

@ Moderator: Falls ich hier im falschen Forum bin, bitte verschieben.


----------



## Dennis Wronka (24. März 2007)

Auch wenn ich hier stark von Windows ausgehe (allein dadurch, dass Du uns Dein Betriebssystem bislang verheimlicht hast  ) waere es doch ganz interessant zu wissen unter welchem OS das denn ablaufen soll.

Unter Linux duerfte sich sowas relativ einfach mit einem Shell-Script regeln lassen, unter Windows evtl. ueber die PowerShell, wobei ich das nicht sicher bin. Unter beiden Systemen natuerlich auch mit einem vollstaendigen, echten Programm, jedoch koennte dies, zumindest unter Linux etwas ueberdimensioniert sein wenn man es doch auch mit einem Script machen kann.


----------



## NomadSoul (24. März 2007)

Unter Windows ist das problemlos per Batch möglich.Einzig die Begrenzung der Laufwerksbuchstaben könnte ein Problem sein


----------



## Nico Graichen (24. März 2007)

NomadSoul hat gesagt.:


> Unter Windows ist das problemlos per Batch möglich.Einzig die Begrenzung der Laufwerksbuchstaben könnte ein Problem sein



Richtig. Wenn ich damals im Deutschunterricht richtig aufgepasst hab, hat das Alphabet weniger als 2500 eek: ) Buchstaben. 

Aber wie schon erwähnt, kannst du das über ein einfaches Batch-Skript erledigen. Copy bzw. xcopy sollten dir dabei weiterhelfen.

Per PowerShell-Skript ist das zwar auch möglich, jedoch find ich den Overhead dafür doch etwas zu groß.


----------



## gsmiata (24. März 2007)

OK, OK, ist ja richtig, die Angabe des Betriebssystems wäre schon nicht schlecht 

Tataaa, hier die Auflösung

WIN XP Pro

Aber danke schon mal für die regen Beiträge.

Also meint Ihr einfach ne Batch Datei

copy c:\Testordner e: f: g: h:   

Oder wie spreche ich mehrere Laufwerksbuchstaben gleichzeitig an?
Werden die Kopiervorgänge nacheinander oder gleichzeitig ausgelöst?
Lässt sich ein "Bestätigungsfenster" generieren, wenn der Kopierbefehl abgearbeitet wurde?
Was bedeutet der xcopy Befehl?

Danke für Eure Hilfe.

Gruß

Gavin


----------



## mAu (24. März 2007)

*xcopy*:
Start->Ausführen: cmd [Enter]
In die Kommandozeile: xcopy /? [Enter] und schon steht da alles was du wissen musst 

```
Kopiert Dateien und Verzeichnisstrukturen.

XCOPY Quelle [Ziel] [ /A | /M] [ /D[:Datum]] [ /P] [ /S [ /E]] [ /V] [ /W]
                    [ /C ] [ /I ] [ /Q] [ /F ] [ /L] [ /G] [ /H] [ /R] [ /T] [ /U ]
                    [ /K] [ /N] [ /O] [ /X] [ /Y] [ /-Y] [ /Z]
                    [ /EXCLUDE:Datei1[+Datei2][+Datei3]...]

  Quelle    Die zu kopierenden Dateien.
  Ziel      Position und/oder Name der neuen Dateien.
  /A        Kopiert nur Dateien mit gesetztem Archivattribut,
            ändert das Attribut nicht.
  /M        Kopiert nur Dateien mit gesetztem Archivattribut,
            setzt das Attribut nach dem Kopieren zurück.
  /D:M-T-J  Kopiert nur die an oder nach dem Datum geänderten Dateien.
            Ist kein Datum angegeben, werden nur Dateien kopiert,
            die neuer als die bestehenden Zieldateien sind.
  /EXCLUDE:Datei1[+Datei2][+Datei3]...
            Gibt eine Liste von Zeichenfolgen an. Jede Zeichenfolge
            sollte in einer einzelnen Zeile in der Datei angezeigt werden.
            Wenn eine der Zeichenfolgen Teil des absoluten Verzeichnispfads
            der zu kopierenden Datei ist, wird diese Datei vom
            Kopiervorgang ausgeschlossen. Beispiel: Bei der
            Zeichenfolge \obj\ oder .obj werden alle Dateien
            unterhalb des Verzeichnisses OBJ bzw. alle Dateien mit
            der Erweiterung .obj vom Kopiervorgang ausgeschlossen.
  /P        Fordert vor dem Erstellen jeder Zieldatei eine Bestätigung.
  /S        Kopiert Verzeichnisse und Unterverzeichnisse, die nicht leer sind.
  /E        Kopiert alle Unterverzeichnisse (leer oder nicht leer).
            Wie /S /E. Mit dieser Option kann die Option /T geändert werden.
  /V        Überprüft jede neue Datei auf Korrektheit.
  /W        Fordert vor dem Beginn des Kopierens zu einem Tastendruck auf.
  /C        Setzt das Kopieren fort, auch wenn Fehler auftreten.
  /I        Falls Ziel nicht vorhanden ist und mehrere Dateien kopiert
            werden, nimmt XCOPY an, dass das Ziel ein Verzeichnis ist.
  /Q        Zeigt beim Kopieren keine Dateinamen an.
  /F        Zeigt die Namen der Quell- und Zieldateien beim Kopieren an.
  /L        Listet die Dateien auf, die ggf. kopiert werden.
  /G        Ermöglicht das Kopieren von verschlüsselten Dateien auf ein
            Ziel wo Verschlüsselung nicht unterstützt wird.
  /H        Kopiert auch Dateien mit den Attributen 'Versteckt' und 'System'.
  /R        Überschreibt schreibgeschützte Dateien.
  /T        Erstellt die Verzeichnisstruktur, kopiert aber keine Dateien.
            Leere oder Unterverzeichnisse werden nicht kopiert. Um auch diese
            zu kopieren, müssen Sie die Optionen /T /E angeben.
  /U        Kopiert nur Dateien, die im Zielverzeichnis vorhanden sind.
  /K        Kopiert Attribute. Standardmäßig wird 'Schreibgeschützt' gelöscht.
  /N        Beim Kopieren werden die erzeugten Kurznamen verwendet.
  /O        Kopiert Informationen über den Besitzer und ACL.
  /X        Kopiert Dateiüberwachungseinstellungen (bedingt /O).
  /Y        Unterdrückt die Aufforderung zur Bestätigung, dass eine
            vorhandene Zieldatei überschrieben werden soll.
  /-Y       Fordert zur Bestätigung auf, dass eine bestehende
            Zieldatei überschrieben werden soll.
  /Z        Kopiert Dateien in einem Modus, der einen Neustart ermöglicht.

Die Option /Y kann in der Umgebungsvariable COPYCMD vordefiniert sein.
Sie kann mit /-Y in der Befehlszeile deaktiviert werden.
```


----------



## Nico Graichen (24. März 2007)

Hi

Copy und xcopy sind ähnlich, jedoch kann xcopy etwas mehr.
Du musst trotzdem für jeden USB-Stick einen eigenen Aufruf machen
in etwa so:

```
xcopy c:\test.txt x:\
xcopy c:\test.txt y:\
xcopy c:\test.txt z:\
...
```
Das Batch-File läuft in der Kommandozeile. Da es da keine MessageBoxen gibt, wird das erzeugen schwierig.
Wenn du unbegingt eine MessageBox haben willst, musst du das ganze z.B. per VBScript lösen.
Dann wäre FileCopy das was du suchst


----------



## Kampfzivi (9. Dezember 2010)

Auch wenn der Thread alt ist:

Die LW-Buchstaben der USB-Stick lassen sich recht einfach mit einem kleinen Programm festlegen.
Mann kann mit dem USB DriveLetterManager einfach die Buchstaben zuweisen, die die eingesteckten USB-Sticks haben.
Somit verschieben sich die Buchstaben nicht und man kann ganz - wie ja schon genannt - einfach per xcopy aus der Batch heraus kopieren.

K-Zivi


----------

