Script für USB-Stick

batista192
Ich wollte mir ein Script basteln, womit ich die Daten auf meinem USB-Stick in einen Ordner auf Windows kopieren kann. Nehmen wir jetzt mal als Beispielpfad des USB-Sticks "J:" und für den Pfad auf Windows "C:\Neuer Ordner" . Und ich bräuchte eine msgbox wenn das Kopieren beendet ist.
Kann mir einer helfen solch ein Script zu basteln?
HisN
Texteditor auf
code:
1:
2:
3:
4:
xcopy /Y /E /C /Q /I /R  J:\*.* "C:\Neuer Ordner"
echo feddisch

tippen
Speichern unter blablabla.bat (blablabla sinnig ersetzen).

Feddisch.

Nur das mit der Messibox ... *schulternzuck* wenns Script fertig ist geht das Dos-Fenster zu.
NASA
Das ganze als Script mit MsgBox ;-)

code:
1:
2:
3:
Set WshShell = Wscript.CreateObject("Wscript.Shell")  
Return = WshShell.Run("cmd /c xcopy /Y /E /C /Q /I /R  J:\*.* ""C:\Neuer Ordner""",,true)
MsgBox "Kopieren beendet!", vbInformation  

Das ganze als Blafasel.VBS abspeichern und per Doppelklick ausführen.

Ist halt sehr rudimentär, ohne irgendwelche Fehler (z.B. Platte voll) abzufangen.
batista192
Vielen dank für eure Antworten! Werde gleich mal das Script ausprobieren. smile
Sam_Razr
Hi hab ne frage dazu:

iuch hab das script umgeschrieben (läuft jetzt ordner auf stick)
Kann ich das Script irgendwie erweitern, sodass ich bei etwa 30 angeschlossenen sticks nur bestimte sticks erreiche?
ich steh da grad voll aufm schlauch. Vll mit ner signatur datei aufm stick???

Wäre echt nett wenn ich hilfe bekomm!
NASA
Entweder über eine bestimmte Datei auf dem Stick, oder evtl. über den VolumeName.
Folgendes habe ich von der WSH-Doku von Microsoft "geklaut":

Zitat:
You can iterate the members of the Drives collection using a For Each...Next construct as illustrated in the following code:


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
[VBScript]
Function ShowDriveList
   Dim fso, d, dc, s, n
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set dc = fso.Drives
   For Each d in dc
      n = ""
      s = s & d.DriveLetter & " - " 
      If d.DriveType = 3 Then
         n = d.ShareName
      ElseIf d.IsReady Then
         n = d.VolumeName
      End If
      s = s & n & "<BR>"
   Next
   ShowDriveList = s
End Function
 


Innerhalb der For-Schleife wird der VolumeName der Variablen n zugewiesen, da müsstest Du ansetzen.