Hallo liebe Scriptiggemeinde,
ich habe ein kleines Miniscript gebastelt, das alle USB Sticks automatisch formatieren soll. Dazu ermittele ich per PS die entsorechenden Laufwerksbuchstaben:
AutoIt
$sticks = Get-WmiObject Win32_LogicalDisk | Where-Object DriveType -eq 2
$SticksLet = $sticks.DeviceID | Out-File -FilePath "c:\windows\temp\letters.txt"
das eigentliche Script (ich weiss vielleicht nicht ganz so elegant) schaut so aus:
AutoIt
#include <File.au3>
SplashTextOn("info", "UsBStick Letters werden ermittelt", 450, 60, 1400, 950, 1, "Verdana")
$CmdPid = Run("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe .\ListUsbStickLetters.ps1 -noexit" & 'Get-ChildItem',@ScriptDir, @SW_HIDE); GetStickLetters
$file = "C:\Windows\Temp\letters.txt"
Sleep ( 6000 )
FileOpen($file, 0)
For $i = 1 to _FileCountLines($file)
$line = FileReadLine($file, $i)
; msgbox(0,'"Stickletter"',$line);Testing letters
Run(@ComSpec & " /c " & "format " & $line & "/FS:FAT32 /q /v:" & "leer", "", @SW_SHOW)
Next
FileClose($file)
Sleep ( 6000 )
FileDelete($file)
Alles anzeigen
Wie bekomme ich es hin, dass bei meherern existeten Sticks, diese Prozesse quasi parallel gestartet werden, also nicht nacheinander?
lg
Chris