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
Please also mark the comments that contributed to the solution of the article
Content-Key: 336744
Url: https://administrator.de/contentid/336744
Printed on: April 24, 2024 at 23:04 o'clock
11 Comments
Latest comment
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.