Script zum Überschreiben eines USB Sticks
Hallo zusammen,
folgendes Problem. Wir haben viele USB Sticks mit einer veralteten Datei bekommen. Ich benötige ein Script welches z.B. das Laufwerk E überwacht und wenn dort ein USB Stick eingesteckt ist die darauf befindende Datei überschreibt. Und eine Rückmeldung gibt sobald erfolgreich überschrieben ist. Damit wir einen Stick nach dem anderen schnellst möglich überschreiben können.
Kann hier wer weiterhelfen?
Vorab besten Dank
Viele Grüße
Tom
folgendes Problem. Wir haben viele USB Sticks mit einer veralteten Datei bekommen. Ich benötige ein Script welches z.B. das Laufwerk E überwacht und wenn dort ein USB Stick eingesteckt ist die darauf befindende Datei überschreibt. Und eine Rückmeldung gibt sobald erfolgreich überschrieben ist. Damit wir einen Stick nach dem anderen schnellst möglich überschreiben können.
Kann hier wer weiterhelfen?
Vorab besten Dank
Viele Grüße
Tom
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 336744
Url: https://administrator.de/contentid/336744
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
11 Kommentare
Neuester Kommentar
Servus Tom.
Kleines Powershell-Skript das das Einstecken eines Wechseldatenträgers überwacht und dann sofort eine Datei drauf schreibt:
Der Laufwerksbuchstabe wird automatisch ermittelt:
Grüße Uwe
Kleines Powershell-Skript das das Einstecken eines Wechseldatenträgers überwacht und dann sofort eine Datei drauf schreibt:
Der Laufwerksbuchstabe wird automatisch ermittelt:
$global:sourcefile = "D:\quelle\datei.zip"
Unregister-Event NewDisk -EA 0
Register-WmiEvent -Query "Select * From __InstanceCreationEvent within 1 where TargetInstance ISA 'Win32_LogicalDisk' and TargetInstance.DriveType = 2" -SourceIdentifier NewDisk -Action {
write-host "New disk detected." -f Green
$letter = $Event.SourceEventArgs.NewEvent.TargetInstance.DeviceId
write-host "Copying file '$global:sourcefile' to Drive '$letter' ... " -NoNewline
copy-item $global:sourcefile -Destination $letter -Force
write-host "finished. Waiting for new device ..."
}
cls
write-host "Waiting for new disk ..."
while($true){sleep 1}
Keine Ursache.
Wenn du willst könntest du das Auswerfen des Sticks auch gleich erledigen , spart einen Klick. Bei Bedarf liefere ich das gerne nach.
-edit- hier mit automatischem Eject nach dem Kopiervorgang:
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.
Wenn du willst könntest du das Auswerfen des Sticks auch gleich erledigen , spart einen Klick. Bei Bedarf liefere ich das gerne nach.
-edit- hier mit automatischem Eject nach dem Kopiervorgang:
$global:sourcefile = 'D:\quelle\datei.zip'
$global:shell = New-Object -Com Shell.Application
Unregister-Event NewDisk -EA 0
Register-WmiEvent -Query "Select * From __InstanceCreationEvent within 1 where TargetInstance ISA 'Win32_LogicalDisk' and TargetInstance.DriveType = 2" -SourceIdentifier NewDisk -Action {
$letter = $Event.SourceEventArgs.NewEvent.TargetInstance.DeviceId
write-host "New disk '$letter' detected." -f Green
write-host "Copying file '$global:sourcefile' to Drive '$letter' ... " -NoNewline
copy-item $global:sourcefile -Destination $letter -Force
write-host "Copy finished."
write-host "Ejecting Device '$letter' ..." -NoNewline
$global:shell.Namespace(17).ParseName($letter).Verbs() | ?{$_.Name.replace('&','') -match '^(Auswerfen|Eject)$'} | %{$_.Doit()}
write-host "OK"
write-host "Waiting for next device ..."
}
cls
write-host "Waiting for new disk ..."
while($true){sleep 1}
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen, und Lösungen markieren. Merci.
Hab's hier auch mal versucht, funktioniert perfekt! Danke.