2017-11-21 1 views
0

Ich bin ein Neuling mit Codierung in Windows PowerShell. Also ich habe den untenstehenden Code um max zu finden. Breite und Höhe von JPG-Dateien in einem Unterverzeichnis. Nachdem ich Max Werte gefunden habe, gehe ich in das übergeordnete Verzeichnis und muss das (temp) Unterverzeichnis löschen.Windows PowerShell: RemoveFileSystemItemIOError nach Schleife

Aber ich kann dies nicht tun, bekomme ich RemoveFileSystemItemIOError, und mir wird gesagt, dass alle jpg-Dateien in Subdir derzeit von einem anderen Prozess verwendet werden. Wie löse/befreie ich sie?

Der Code kann unten gefunden werden:

cd n; 
$maxh=1;$maxw=1; 
$(Get-ChildItem -Filter *.jpg).FullName | ForEach-Object { 
$img = [Drawing.Image]::FromFile($_); 
if ($img.Width -ge $maxw) { $maxw=$img.Width} 
if ($img.Height -ge $maxh) { $maxh=$img.Height} 

} 
cd ..; 
rm n -r; 

Antwort

1

Sie öffnen Sie die Bilddatei

$img = [Drawing.Image]::FromFile($_); 

Verwendung Wenn Sie damit fertig sind, sollten Sie $img.dispose() sonst Powershell ausgeführt wird halten einen Verweis zu speichern zum Bild und verhindern, dass Sie es entfernen.

+1

Sie haben Recht! Und vielen Dank! –

Verwandte Themen