PowerShellを使用して複数のファイルを解凍する方法


  1. Expand-Archiveコマンドレットを使用する方法:

    $zipFiles = Get-ChildItem -Path "C:\path\to\zip\files\*.zip"
    foreach ($zipFile in $zipFiles) {
    $destination = "C:\path\to\destination"
    Expand-Archive -Path $zipFile.FullName -DestinationPath $destination
    }

    このコードは、指定したディレクトリ内のすべての.zipファイルを取得し、展開先のディレクトリに解凍します。

  2. .NET FrameworkのSystem.IO.Compression.ZipFileクラスを使用する方法:

    Add-Type -Assembly 'System.IO.Compression.FileSystem'
    $zipFiles = Get-ChildItem -Path "C:\path\to\zip\files\*.zip"
    foreach ($zipFile in $zipFiles) {
    $destination = "C:\path\to\destination"
    [System.IO.Compression.ZipFile]::ExtractToDirectory($zipFile.FullName, $destination)
    }

    このコードでは、System.IO.Compression.FileSystemアセンブリを追加し、.zipファイルを解凍するためにZipFileクラスを使用しています。

  3. 7-Zipコマンドラインユーティリティを使用する方法:

    $zipFiles = Get-ChildItem -Path "C:\path\to\zip\files\*.zip"
    foreach ($zipFile in $zipFiles) {
    $destination = "C:\path\to\destination"
    $command = "C:\path\to\7z.exe"
    & $command x $zipFile.FullName -o$destination
    }

    このコードでは、7-Zipコマンドラインユーティリティを使用して.zipファイルを解凍します。事前に7-Zipをインストールしておく必要があります。

これらの方法を使用すると、PowerShellを使って簡単に複数のファイルを解凍することができます。自分の環境に合わせて適切な方法を選択し、必要に応じてパスやディレクトリを変更してください。