pptx を pdfに変換するPowerShell スクリプト

1つのフォルダ内に、大量のPowerPoint資料があります。 – … – Yahoo!知恵袋 にVB Scriptのコードがあったので、これをMicrosoftの Copilotくんに変換をお願いした。

しかし、そのままでは動かない。

$baseName = [System.IO.Path]::GetBaseName($file.Name)

と回答してきたが、ここは

$baseName = [System.IO.Path]::GetFileNameWithoutExtension($file.Name)

にしないと動かない。

# PowerShellスクリプト
$folderPath = Get-Location
$files = Get-ChildItem -Path $folderPath

$powerPoint = New-Object -ComObject PowerPoint.Application

foreach ($file in $files) {
    if ($file.Extension -eq ".pptx") {
        $baseName = [System.IO.Path]::GetFileNameWithoutExtension($file.Name)
        $presentation = $powerPoint.Presentations.Open($file.FullName, 0)
        $pdfPath = Join-Path $folderPath "$baseName.pdf"
        $presentation.SaveAs($pdfPath, 32)
        $presentation.Close()
    }
}

$powerPoint.Quit()
[void][System.Runtime.Interopservices.Marshal]::ReleaseComObject($powerPoint)

Write-Host "Finished!"