Dateien auf USB-Stick kopieren
Liebe Community,
ich hätte eine Frage und bin mir sicher, dass man mir hier behilflich sein kann.
Ich habe folgendes To-Do bzw. Wunsch:
Windows 10
1.) Ich möchte auf einen USB-Stick zwei Ordner von einem Netzwerklaufwerk kopieren. Wie kann ich explizit einstellen, dass es die Ordner in das jeweilige Laufwerk kopieren soll? Mittels Powershell/Batch kann man das ja recht einfach integrieren, aber die Laufwerkbezeichnung kann ja immer variieren und das möchte ich gerne verhindern.
Bestünde auch die Möglichkeit, dass nach Beendigung des Vorgangs sich die Datei von selbst löscht?
Es handelt sich um eine gezippte Datei, die dann mittels Script extrahiert werden soll (Script ist fertig und soweit auch funktionsfähig)
2.) Die gezippte Datei liegt dann am USB-Stick und soll am C:Laufwerk kopiert werden. Da die Laufwerkbezeichnung ja variieren kann, wie kann ich das einstellen, dass das Script in diesem Ordner nach der Datei suchen soll und dann in C: kopieren soll?
tar -xvzf D:\OrdnerX\DateiX.tar.gz -C C:\OrdnerX
Freue mich auf Antworten!
LG
ich hätte eine Frage und bin mir sicher, dass man mir hier behilflich sein kann.
Ich habe folgendes To-Do bzw. Wunsch:
Windows 10
1.) Ich möchte auf einen USB-Stick zwei Ordner von einem Netzwerklaufwerk kopieren. Wie kann ich explizit einstellen, dass es die Ordner in das jeweilige Laufwerk kopieren soll? Mittels Powershell/Batch kann man das ja recht einfach integrieren, aber die Laufwerkbezeichnung kann ja immer variieren und das möchte ich gerne verhindern.
Bestünde auch die Möglichkeit, dass nach Beendigung des Vorgangs sich die Datei von selbst löscht?
Es handelt sich um eine gezippte Datei, die dann mittels Script extrahiert werden soll (Script ist fertig und soweit auch funktionsfähig)
2.) Die gezippte Datei liegt dann am USB-Stick und soll am C:Laufwerk kopiert werden. Da die Laufwerkbezeichnung ja variieren kann, wie kann ich das einstellen, dass das Script in diesem Ordner nach der Datei suchen soll und dann in C: kopieren soll?
tar -xvzf D:\OrdnerX\DateiX.tar.gz -C C:\OrdnerX
Freue mich auf Antworten!
LG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6751707116
Url: https://administrator.de/forum/dateien-auf-usb-stick-kopieren-6751707116.html
Ausgedruckt am: 07.04.2025 um 07:04 Uhr
16 Kommentare
Neuester Kommentar
Moin,
Gruß Thomas
Zitat von @SieGer:
1.) Ich möchte auf einen USB-Stick zwei Ordner von einem Netzwerklaufwerk kopieren. Wie kann ich explizit einstellen, dass es die Ordner in das jeweilige Laufwerk kopieren soll? Mittels Powershell/Batch kann man das ja recht einfach integrieren, aber die Laufwerkbezeichnung kann ja immer variieren und das möchte ich gerne verhindern.
Ein paar mehr Infos wären ganz hilfreich...1.) Ich möchte auf einen USB-Stick zwei Ordner von einem Netzwerklaufwerk kopieren. Wie kann ich explizit einstellen, dass es die Ordner in das jeweilige Laufwerk kopieren soll? Mittels Powershell/Batch kann man das ja recht einfach integrieren, aber die Laufwerkbezeichnung kann ja immer variieren und das möchte ich gerne verhindern.
- Ist immer nur ein USB-Laufwerk angeschlossen?
1
2
2
# Laufwerksbuchstaben der ersten Partition des USB-Sticks ermitteln
$USB = Get-Disk | ? BusType -eq "USB" | Get-Partition | Select -First 1 -ExpandProperty DriveLetter
- Verwendest du immer den selben USB-Stick?
- Verwendest du mehrere USB-Sticks und hast teilweise auch mehrere USB-Geräte angeschlossen?
Bestünde auch die Möglichkeit, dass nach Beendigung des Vorgangs sich die Datei von selbst löscht?
Klar kannst du mit Powershell nach dem kopieren die Datei am Ursprungsort auch löschen lassen.2.) Die gezippte Datei liegt dann am USB-Stick und soll am C:Laufwerk kopiert werden. Da die Laufwerkbezeichnung ja variieren kann, wie kann ich das einstellen, dass das Script in diesem Ordner nach der Datei suchen soll und dann in C: kopieren soll?
siehe obenGruß Thomas
Wenn du unter Windows dem USB-Stick einen festen Laufwerksbuchstaben zuweist, dann wird ihm dieser auch wieder zugewiesen, wenn du ihn neu anstöpselst. Muss man aber an jedem USB-Port machen, an dem man den Stick einstöpselt.
Windows vergibt in der Regel ja immer den nächsten freien Buchstaben. Wenn du da einen weiter hinten im Alphabet vergibst, bist du da ziemlich sicher.
Ansonsten evtl. was per Taskplaner und P/VID des Sticks.
Aber da gibts doch so ein kleines Programm, mit dem man automatische Sicherungen auf einen USB-Stick starten kann, sobald man den Stick anstöpselt. Mir fällt da nur der Name nicht ein.
Windows vergibt in der Regel ja immer den nächsten freien Buchstaben. Wenn du da einen weiter hinten im Alphabet vergibst, bist du da ziemlich sicher.
Ansonsten evtl. was per Taskplaner und P/VID des Sticks.
Aber da gibts doch so ein kleines Programm, mit dem man automatische Sicherungen auf einen USB-Stick starten kann, sobald man den Stick anstöpselt. Mir fällt da nur der Name nicht ein.
Zitat von @SieGer:
Vielen Dank für eure Antworten.
Es sind immer unterschiedliche USB-Sticks (ca. 60 an der Zahl), die immer an den unterschiedlichen Windows Clients die Dateien vom Netzwerkordner auf den USB-Stick kopieren sollen und dann wieder an den unterschiedlichen Windows Clients diese Dateien entpackt und in das C:Laufwerk kopiert werden sollen.
Vielen Dank für eure Antworten.
Es sind immer unterschiedliche USB-Sticks (ca. 60 an der Zahl), die immer an den unterschiedlichen Windows Clients die Dateien vom Netzwerkordner auf den USB-Stick kopieren sollen und dann wieder an den unterschiedlichen Windows Clients diese Dateien entpackt und in das C:Laufwerk kopiert werden sollen.
Ich würde vom Volume-Label ausgehen.
Du kannst Laufwerke zwar nicht immer den gleichen festen Buchstaben zuordnen, aber was zeitgleich geht ist das Volume-Label und das kannst Du auslesen.
Ein VBS-Snippet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
set fso = CreateObject("Scripting.FileSystemObject")
set drive = fso.GetDrive("D")
Wscript.Echo "AvailableSpace =", drive.AvailableSpace
Wscript.Echo "DriveLetter =", drive.DriveLetter
Wscript.Echo "DriveType =", drive.DriveType
Wscript.Echo "FileSystem =", drive.FileSystem
Wscript.Echo "FreeSpace =", drive.FreeSpace
Wscript.Echo "IsReady =", drive.IsReady
Wscript.Echo "Path =", drive.Path
Wscript.Echo "RootFolder =", drive.RootFolder
Wscript.Echo "SerialNumber =", drive.SerialNumber
Wscript.Echo "ShareName =", drive.ShareName
Wscript.Echo "TotalSize =", drive.TotalSize
Wscript.Echo "VolumeName =", drive.VolumeName
Mit geschickter Prüfung findest Du dann den Laufwerksbuchstaben auf Basis des Volumennamens und kannst die Scriptbefehle dynamisch alternieren.
Hallo,
naja Buchstaben sind Schall und Rauch. Man kann USB Devices einfach auflisten lassen und nach Inhalt schauen. So viele werden es ja zur selben Zeit nicht sein. Geht also schnell.
Ich meine via PowerShell USB Devices erkennen lassen. Dann Prüfung ob Ordner da ist- fertig. Oder einfach eine Text File im Root vom Stick ablegen, dass nach Prüfung da schon klar ist, dass der Stick er richtige ist. Dan wie gewohnt die Ordner von A nach B kopieren.
Hier wurde vereinbart, dass D immer ein Backup Stick ist. Lief permanent mit.
Bei mehreren USB Devices nur daruf achten, dass ein Array zurück kommt! Sonst bricht das Script ab.
Hier wurde nur D: erwartet. Du kannst aber die Ausgabe des "USB Objektes" mit For-Each durchlaufen und wenn du den "Marker" (Ordner Namen / Datei im Root) gefunden hast, Aktion XY ausführen.
Hier wurde z.B. einfach gelöscht. Bei dir wäre es entsprechend der Kopiervorgang.
Teste einfach vorher mit mehrern Sticks das Verhalten und lass dann das Objekt mti ForEach durchlaufen. Die Prüfung von Ordnern und Dateien laufen wie gewohnt mit PowerShell ab.....
naja Buchstaben sind Schall und Rauch. Man kann USB Devices einfach auflisten lassen und nach Inhalt schauen. So viele werden es ja zur selben Zeit nicht sein. Geht also schnell.
Ich meine via PowerShell USB Devices erkennen lassen. Dann Prüfung ob Ordner da ist- fertig. Oder einfach eine Text File im Root vom Stick ablegen, dass nach Prüfung da schon klar ist, dass der Stick er richtige ist. Dan wie gewohnt die Ordner von A nach B kopieren.
Hier wurde vereinbart, dass D immer ein Backup Stick ist. Lief permanent mit.
Bei mehreren USB Devices nur daruf achten, dass ein Array zurück kommt! Sonst bricht das Script ab.
Hier wurde nur D: erwartet. Du kannst aber die Ausgabe des "USB Objektes" mit For-Each durchlaufen und wenn du den "Marker" (Ordner Namen / Datei im Root) gefunden hast, Aktion XY ausführen.
Hier wurde z.B. einfach gelöscht. Bei dir wäre es entsprechend der Kopiervorgang.
Teste einfach vorher mit mehrern Sticks das Verhalten und lass dann das Objekt mti ForEach durchlaufen. Die Prüfung von Ordnern und Dateien laufen wie gewohnt mit PowerShell ab.....
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Function Script:DeleteOldest($zipFileName)
{
$pc = $env:COMPUTERNAME
$usb = get-wmiobject -class "Win32_LogicalDisk" -namespace "root\CIMV2" -computername $pc -Filter "DriveType='2'"
# if ($usb.Name -contains "D:")
if (@($usb | Select-Object -Expand Name) -contains "D:")
{
$data_size = 0
$usb_size = Get-WMIObject Win32_Logicaldisk -filter "DeviceId='D:'" | Select-Object -expand freespace
$data_size = (Get-Item $zipFileName).Length/1MB + 10
if ( $usb_size/1MB -lt $data_size ) { Get-ChildItem D:\ | ? { $_.Extension -eq ".zip" -and ( $_.Name -like "*sysdb*" -or $_.Name -like "*usrdb*" ) } | Sort-Object -Property LastWriteTime | Select-Object -first 3 | Remove-Item }
if(-not $?) { $Script:MOVEErrorMsg += "`r`n`r`nPlatz auf USB schaffen... Failed: " + $error[0].exception.message }
}
}
Moin,
Mach einfach einen "Target-Marker" auf die gewünschte Quell- oder Zielpartition, z.B. eine Datei namnes "$Dies-ist-die-Quelle-allen-Übels.txt" oder "$Am-Ende-endet-alles-hier-im-Nirvana.txt" und klappere per Powerschell einfach alle Laufwerksbuchstaben ab, ob die Datei auf dem Laufwerk ist. Dann ist es irrelevant, ob und wie sich die Laufwerksbuchstaben verschieben oder ob mehrere Partiotionen auf dem Stick sind. Du findest dann imer das richtige Filesystem.
lks
Mach einfach einen "Target-Marker" auf die gewünschte Quell- oder Zielpartition, z.B. eine Datei namnes "$Dies-ist-die-Quelle-allen-Übels.txt" oder "$Am-Ende-endet-alles-hier-im-Nirvana.txt" und klappere per Powerschell einfach alle Laufwerksbuchstaben ab, ob die Datei auf dem Laufwerk ist. Dann ist es irrelevant, ob und wie sich die Laufwerksbuchstaben verschieben oder ob mehrere Partiotionen auf dem Stick sind. Du findest dann imer das richtige Filesystem.
lks

Falls die Volumenamenänderung und lks' Vorschlag nicht in Betracht kommen, hier eine Möglichkeit mit Erkennung von 0/1/mehreren USB-Laufwerken und Auswahlmöglichkeit falls es mehrere gibt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$USBDrives = (Get-CimInstance Win32_Volume -Filter "DriveType='2'").DriveLetter
switch ($USBDrives.Count) {
0 { Write-Host "Kein USB-Laufwerk erkannt" }
1 {
$drive = $USBDrives
}
Default {
for ($i = 0; $i -lt $USBDrives.Count; $i++) {
Write-Host "$i fuer $($USBDrives[$i])"
}
$drive = $USBDrives[[Int32]::Parse($(Read-Host "Welches Laufwerk?"))]
}
}
if ($drive) {
Write-Host "USB-Laufwerk: $drive"
# kopieren
}
Sofern das Skript ebenfalls auf dem jeweiligen USB-Stick liegt, könnte man natürlich auch das Laufwerk des gestarteten Skripts nehmen.
Was ich noch nicht ganz verstehe: Du willst eine Datei zuerst vom Netzwerkpfad auf den USB-Stick kopieren, diese dann vom USB-Stick aus nach C: entpacken lassen und die Datei dann wieder vom USB-Stick löschen... Warum nicht einfach direkt vom Netzwerkpfad nach C: entpacken lassen?
Gruß Thomas
Was ich noch nicht ganz verstehe: Du willst eine Datei zuerst vom Netzwerkpfad auf den USB-Stick kopieren, diese dann vom USB-Stick aus nach C: entpacken lassen und die Datei dann wieder vom USB-Stick löschen... Warum nicht einfach direkt vom Netzwerkpfad nach C: entpacken lassen?
Gruß Thomas

Zitat von @TK1987:
Was ich noch nicht ganz verstehe: Du willst eine Datei zuerst vom Netzwerkpfad auf den USB-Stick kopieren, diese dann vom USB-Stick aus nach C: entpacken lassen und die Datei dann wieder vom USB-Stick löschen... Warum nicht einfach direkt vom Netzwerkpfad nach C: entpacken lassen?
Was ich noch nicht ganz verstehe: Du willst eine Datei zuerst vom Netzwerkpfad auf den USB-Stick kopieren, diese dann vom USB-Stick aus nach C: entpacken lassen und die Datei dann wieder vom USB-Stick löschen... Warum nicht einfach direkt vom Netzwerkpfad nach C: entpacken lassen?
Das habe ich auch nicht verstanden. Vielleicht ist das ganze ja auch ein XY-Problem
Vermute mal es geht um verschiedene PCs, die nicht im gleichen Netz sind.
Na dann ist es doch egal, welche Laufwerkszuordnung der Stick hat.
Script in einem Ordner, die Dateien im Unterordner.
Wieso wilst du das Script löschen? Das tut doch niemanden weh und du müsst es später nicht wieder auf die Sticks kopieren.
Autorun auf den Stick um die Dateien aus dem Netz zu kopieren. Beim entpacken der Datei auf die Festplatte dann manuell. Aber auch das könnte man gemeinsam in die Autorun packen und dort nach bestimmten Dateien suchen lassen. Und je nach Eintrag holt er sich die Dateien oder entpackt sie auf die Festplatte.
Es wäre halt auch eine Idee das LAN etwas besser zu gestalten. Dann könnte man das auch zentral erledigen. Aber das wird scheinbar nicht gehen.
Man könnte dann auch sowas wie Veeam einsetzen und die Bandbreit beim kopieren begrenzen. Keine Ahnung, wie oft da 100GB kopiert werden müssen.
Script in einem Ordner, die Dateien im Unterordner.
Wieso wilst du das Script löschen? Das tut doch niemanden weh und du müsst es später nicht wieder auf die Sticks kopieren.
Autorun auf den Stick um die Dateien aus dem Netz zu kopieren. Beim entpacken der Datei auf die Festplatte dann manuell. Aber auch das könnte man gemeinsam in die Autorun packen und dort nach bestimmten Dateien suchen lassen. Und je nach Eintrag holt er sich die Dateien oder entpackt sie auf die Festplatte.
Es wäre halt auch eine Idee das LAN etwas besser zu gestalten. Dann könnte man das auch zentral erledigen. Aber das wird scheinbar nicht gehen.
Man könnte dann auch sowas wie Veeam einsetzen und die Bandbreit beim kopieren begrenzen. Keine Ahnung, wie oft da 100GB kopiert werden müssen.

Autorun auf den Stick um die Dateien aus dem Netz zu kopieren.
wurde Autorun für USB-Sticks nicht schon mit Win 7 deaktiviert?