2017-05-05 10 views
0

私はディレクトリ内のいくつかのファイルを解凍することになっているPowerShellスクリプトを持って拒否されましたが、私はそれを実行すると、このエラーがスローされます:私は、個々のフォルダに自分自身の完全な制御を与えているPowerShellを解凍アクセスが

Exception calling "ExtractToDirectory" with "2" argument(s): "Access to the path 
'E:\SubFolder\SubFolder2\SubFolder3' is denied." 
At line:7 char:5 
+  [System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, "E:\SubFolder\Sub ... 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
    + FullyQualifiedErrorId : UnauthorizedAccessException 

(テストのためだけに)管理者として実行しても、エラーはスローされます。ここで

は私のコードです

Add-Type -AssemblyName System.IO.Compression.FileSystem 

function Unzip 
{ 
    param([string]$zipfile) 

    [System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, "E:\SubFolder\SubFolder2\SubFolder3") 

} 

$Files = get-childitem "E:\SubFolder\SubFolder2\SubFolder3" 

foreach ($i in $files) 
{ 
    Unzip "SubFolder\SubFolder2\SubFolder3\$i" 
} 

誰かがこの作業を取得するための正しい方向に私を指すもらえますか?

+1

に解凍機能を呼び出すときに引数を変更することをお勧め私はエラーを複製することはできないんだけど、多分試みるGet-ChildItem

Get-ChildItem "E:\SubFolder\SubFolder2\SubFolder3" | Where { $_.Extension -eq ".zip" } 

Whereを追加します。 'Get-ChildItem'に' Where'句を追加します: 'get-childitem" E:\ SubFolder \ SubFolder2 \ SubFolder3 "| Where {$ _。Extension -eq ".zip"} ' – dbso

+0

これはそのトリックを行っています。あなたの答えを以下に掲示すれば、私は同意します。ありがとう! – Cornflake2068

答えて

1

私も

Unzip $i.FullName

+0

'Get-ChildItem" E:\ SubFolder \ SubFolder2 \ SubFolder3 \ *。zip "も同様に機能します。 – JosefZ