Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

BatchScript zum Beschreiben von USB-Sticks

Frage Entwicklung Batch & Shell

Mitglied: Deboe1986

Deboe1986 (Level 1) - Jetzt verbinden

04.02.2009, aktualisiert 14:38 Uhr, 9247 Aufrufe, 4 Kommentare

Brauche Hilfe bei der Erstellung eines Script zum Beschreiben von USB-Sticks

Hallo liebe Community,

ich bin Neuling und habe gleich mal ein paar Fragen - vielleicht kann mir hier jemand behilflich sein.

Kurze Einleitung:
Ich bin Auszubildender Informatikkaufmann und soll für eine Messe knapp 3000 USB-Sticks mit Daten beschreiben.
Hierzu habe ich 10 USB Hubs mit je 7 USB Anschlüssen. Wegen der Laufwerkbegrenzung werden lediglich 2 Hubs pro Rechner angeschlossen (5 Rechner á 14 USB Ports).

Da manche Laufwerkbuchstaben schon belegt sind (Netzlaufwerke etc.), musste ich eine Lösung für die Festlegung dieser Laufwerk-Namen finden.
Hierzu benutze ich die Freeware USBDLM V4.2.4. Die freien und belegten Buchstaben werden in die USBDLM.inf eingetragen:

[DriveLetters]
Letters=A,B,F,G,H,J,K,L,M,O,P,Q,R,S,T,U,V
[ExcludedLetters]
Letters=C,D,E,I,N,W,X,Y,Z

Wenn ich nun USB-Sticks einstecke, bekommt der 1. die Bezeichnung A:\ , der 2. B:\ der 3. F:\ usw.
Das Batch-Script das ich verwende sieht momentan so aus (mache das erst seit heute, nicht lachen):

@Echo off
If Exist A:\NUL xcopy C:\TEMP\Testordner\ A:\Testordner /y /i /e /v
If Exist B:\NUL xcopy C:\TEMP\Testordner\ B:\Testordner /y /i /e /v
If Exist F:\NUL xcopy C:\TEMP\Testordner\ F:\Testordner /y /i /e /v
...usw...

Leider gibt es hierbei nun einige Probleme. Habe das testweise mal mit 8 PDF-Dateien ausprobiert (Gesamtgröße 1,06 GB)... das Ganze dauert ziemlich lange pro Stick - und die Sticks werden nacheinander, nicht simultan beschrieben.
Gibt es eine Möglichkeit diese simultan beschreiben zu lassen? Oder würdet ihr davon abraten. Pro USB-Hub habe ich ja eine Übertragunsrate von 420 oder 480 MBit/s. Dies teilt sich auf die 7 Ports auf... Wäre es besser das nacheiander zu beschreiben oder doch simultan. Gibt es bessere / schnellere Möglichkeiten? Desweiteren bräuchte ich zusätzlich einen Befehl, der gleich nach Beendigung des Kopiervorganges den USB-Stick "abschießt" - also sicher entfernt.. Bin für jede Hilfe / Anregung etc. sehr dankbar.

Grüße,
Dennis B.
Mitglied: 60730
04.02.2009 um 15:51 Uhr
Servus und willkommen,

an deiner Stelle würde ich entweder aus einem Script viele machen -denn die können dann auch einen Schritt nach dem anderen machen und dieser Schritt wäre immer der eine USB Stick:

Beispiel USB2A.cmd
01.
:start 
02.
If Exist A:\ xcopy C:\TEMP\Testordner\ A:\Testordner /y /i /e /v 
03.
rundll32.exe shell32.dll, Control_RunDLL hotplug.dll 
04.
@echo Laufwerk a auswerfen & neuen Stick  anklemmen 
05.
pause 
06.
goto start
.. oder das ganz Testweise mit einem Imager laufen lassen.

gruß
Bitte warten ..
Mitglied: bastla
04.02.2009 um 17:12 Uhr
Hallo Deboe1986 und willkommen im Forum!

Wenn Du USBDLM gefunden hast, wäre der Weg zu RemoveDrive V1.9 - Laufwerke sicher entfernen auch nicht mehr weit gewesen ...

Ob nacheinander oder parallel (siehe TimoBeils Vorschlag) besser funktioniert, musst Du selbst austesten.

Grüße
bastla
Bitte warten ..
Mitglied: Deboe1986
05.02.2009 um 08:02 Uhr
Vielen lieben Dank! Werde das im Laufe des Tages alles mal testen.

Sooo... hab jetzt für jedes einzelne Laufwerk eine kleine Batch-Datei erstellt, die wie folgt aussieht:

Dateinmame "USB2A.bat"

@echo off
If Exist A:\ xcopy C:\boerschd\*.* A:\Testordner /y /i /e /v
If Exist A:\ mountvol A:\ /d
exit

Dateiname "USB2B.bat"

@echo off
If Exist B:\ xcopy C:\boerschd\*.* B:\Testordner /y /i /e /v
If Exist B:\ mountvol B:\ /d
exit

...
Aufgerufen sollen diese kleinen Batch-Dateien von einer einzigen - damit man sich die Klickerei erspart:

echo "Batch-Dateien werden geladen ..."
call USB2A.bat
...(alle anderen Batch-Dateien)...
call USB2V.bat
echo msgbox"Der Kopiervorgang wurde beendet!",vbExclamation , "Kopiervorgang abgeschlossen"> msg.vbs
msg.vbs
erase msg.vbs
exit

Leider funktioniert das nicht mit dem Aufrufen - das Fenster poppt kurz auf aber schließt sofort wieder.
Liegt es daran, weil ich momentan nur 7 USB-Sticks angeschlossen habe und es kein Laufwerk A:\ gibt?
Aber dafür ist doch das If Exist in der Batch.. Bitte nochmal um Hilfe.. hoffe ich nerve nicht.
Ansonsten müsste das ja so in die Richtung funktionieren... was meint ihr?

Grüße,
DeBoe

*update*

Habe das nun ganz einfach gemacht - aber funktioniert:

Datei 01Start.bat :

@echo off
If Exist A:\NUL xcopy C:\boerschd\*.* A:\Testordner /y /i /e /v
If Exist B:\NUL xcopy C:\boerschd\*.* B:\Testordner /y /i /e /v
If Exist F:\NUL xcopy C:\boerschd\*.* F:\Testordner /y /i /e /v
If Exist G:\NUL xcopy C:\boerschd\*.* G:\Testordner /y /i /e /v
If Exist H:\NUL xcopy C:\boerschd\*.* H:\Testordner /y /i /e /v
If Exist J:\NUL xcopy C:\boerschd\*.* J:\Testordner /y /i /e /v
If Exist K:\NUL xcopy C:\boerschd\*.* K:\Testordner /y /i /e /v
If Exist L:\NUL xcopy C:\boerschd\*.* L:\Testordner /y /i /e /v
If Exist M:\NUL xcopy C:\boerschd\*.* M:\Testordner /y /i /e /v
If Exist O:\NUL xcopy C:\boerschd\*.* O:\Testordner /y /i /e /v
If Exist P:\NUL xcopy C:\boerschd\*.* P:\Testordner /y /i /e /v
If Exist Q:\NUL xcopy C:\boerschd\*.* Q:\Testordner /y /i /e /v
If Exist R:\NUL xcopy C:\boerschd\*.* R:\Testordner /y /i /e /v
If Exist S:\NUL xcopy C:\boerschd\*.* S:\Testordner /y /i /e /v
If Exist T:\NUL xcopy C:\boerschd\*.* T:\Testordner /y /i /e /v
If Exist U:\NUL xcopy C:\boerschd\*.* U:\Testordner /y /i /e /v
If Exist V:\NUL xcopy C:\boerschd\*.* V:\Testordner /y /i /e /v
echo msgbox"Der Kopiervorgang wurde beendet!",vbExclamation , "Kopiervorgang abgeschlossen"> msg.vbs
echo msgbox"Finish.bat wird jetzt ausgeführt!",vbExclamation , "Finish.bat"> msg2.vbs
msg.vbs
msg2.vbs
erase msg.vbs
erase msg2.vbs
call 02Finish.bat
exit

Datei 02Finish.bat:
@echo off
If Exist A:\ mountvol A:\ /d
If Exist B:\ mountvol B:\ /d
If Exist F:\ mountvol F:\ /d
If Exist G:\ mountvol G:\ /d
If Exist H:\ mountvol H:\ /d
If Exist J:\ mountvol J:\ /d
If Exist K:\ mountvol K:\ /d
If Exist L:\ mountvol L:\ /d
If Exist M:\ mountvol M:\ /d
If Exist O:\ mountvol O:\ /d
If Exist P:\ mountvol P:\ /d
If Exist Q:\ mountvol Q:\ /d
If Exist R:\ mountvol R:\ /d
If Exist S:\ mountvol S:\ /d
If Exist T:\ mountvol T:\ /d
If Exist U:\ mountvol U:\ /d
If Exist V:\ mountvol V:\ /d
echo msgbox"Die vorhandenen USB-Laufwerke wurden sicher entfernt!",vbExclamation , "USB-Sticks sicher abschließen"> msg.vbs
msg.vbs
erase msg.vbs
exit

-----------*

Vielen Dank für alle Antworten und Anregungen!!!

Grüße,
Dennis
Bitte warten ..
Mitglied: uwesieber
23.03.2010 um 21:46 Uhr
MountVol /D entfernt den Laufwerksbuchstaben - mit "Sicher Entfernen" hat
das nichts zu tun, das Abziehen des Sticks wird dadurch nicht sicherer.
RemoveDrive war der richtige Hinweis.

USBDLM weiß den Buchstaben den es gerade zugeordnet hat und stellt ihn in
den Kommandozeilen-Variablen %Drive%, %DriveLetter% und %Root%
zur Verfügung (z.B. "U:", "U", "U:\"). Damit kann man sich die Kopfstände mit
"If Exist xxx" sparen, indem man einen OnArrival-Abschnitt entsprechend
konfiguriert.

Um das Schreiben möglichst schnell abzuwickeln, würde ich ein Image eines
Sticks erstellen, ermitteln, bis wohin Nutzdaten vorhanden sind, das Image
kürzen (http://www.uwe-sieber.de/files/setfilesize.zip) und das verkürzte Image
dann per OnArrival-Abschnitt auf jeden neu angeschlossenen Stick schreiben.
Suche mal "DD for Windows".

Gruß Uwe
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Speicherkarten
Tool zum neuformatieren eines USB-Sticks (6)

Frage von flyingKangaroo zum Thema Speicherkarten ...

Speicherkarten
gelöst Verschlüsselte USB-Sticks (19)

Frage von rudeboy zum Thema Speicherkarten ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...