2025-01-19

AIがもうこんなにできるんだね

指定のサブフォルダ圧縮するだけなんだけど、

同じコードを数年前にExcelVBAでしこしこ作ってたのがなつかしい

function Zip-Subfolders {
    param(
        [string]$directory
    )

    # 指定されたディレクトリ内のサブフォルダを取得
    $subfolders = [System.IO.Directory]::GetDirectories($directory) | % { [System.IO.DirectoryInfo]::new($_) }

    foreach ($folder in $subfolders) {
        # 圧縮ファイルの保存先パス
        $zipFilename = "$($folder.Name).zip"
        $zipFilepath = Join-Path -Path $directory -ChildPath $zipFilename

        # サブフォルダZIP圧縮
        Write-Host "圧縮中..."
        [System.IO.Compression.ZipFile]::CreateFromDirectory($folder.FullName, $zipFilepath)
        Write-Host "$zipFilepath圧縮しました。"
    }
}

# ユーザーフォルダパス入力させる
$folderPath = Read-Host "圧縮する親フォルダパス入力してください"

# パス存在するか確認
if ([System.IO.Directory]::Exists($folderPath)) {
    Zip-Subfolders -directory $folderPath
}

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん