2017-11-21 14 views
0

私はWindows PowerShellでコーディングする初心者です。 だから私は以下のコードを見つけることが最大です。サブディレクトリ内のjpgファイルの幅と高さ。最大値を見つけた後、私は親ディレクトリに移動し、(temp)サブディレクトリを削除する必要があります。Windows PowerShell:ループ後のRemoveFileSystemItemIOError

しかし私はこれを行うことができません。RemoveFileSystemItemIOErrorを取得しました。サブディレクトリのすべてのjpgファイルが現在別のプロセスで使用されていると言われています。どうすれば解決できますか?

のコードは、以下に見出すことができる:

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; 

答えて

1

あなたは、あなたがそれを完了したら、あなたはそれ以外の場合はPowerShellが参照を格納し続ける$img.dispose()を実行する必要があります

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

を用いて画像ファイルを開いていますあなたがそれを取り除くことを妨げます。

+1

あなたは正しいです!そして、ありがとう! –

関連する問題