PowerShellで、選択した複数のファイル名の一部を一括で置換するスクリプトの事例です。次のVBAでのアウトプット事例と同様の処理をPowerShellでします。
内容:
なお、動作確認はWindows PowerShell 5.1です。
スクリプトの内容
次のとおりです。
# 置換前・置換後の文字列を入力
$oldText = Read-Host "置換前の文字列を入力してください"
$newText = Read-Host "置換後の文字列を入力してください"
# ファイル選択ダイアログ(複数選択)
Add-Type -AssemblyName System.Windows.Forms
$dialog = New-Object System.Windows.Forms.OpenFileDialog
$dialog.Multiselect = $true
$dialog.Title = "ファイルを選択してください"
$dialog.Filter = "すべてのファイル (*.*)|*.*"
if ($dialog.ShowDialog() -eq "OK") {
foreach ($file in $dialog.FileNames) {
$folder = Split-Path $file
$filename = Split-Path $file -Leaf
$newFilename = $filename -replace [regex]::Escape($oldText), $newText
if ($newFilename -ne $filename) {
$newPath = Join-Path $folder $newFilename
Rename-Item -Path $file -NewName $newFilename
Write-Host "変更: $filename → $newFilename"
}
}
Write-Host "ファイル名の変更が完了しました。"
} else {
Write-Host "処理をキャンセルしました。"
}
Read-Host "続行するには何かキーを押してください..."
実行時のイメージ(BATファイルで PowerShell スクリプトを実行の場合)
BATファイルで上記スクリプトのファイルを実行させたときの画面イメージは次のとおりです。

以上、PowerShellで選択したファイル名の一部を変更するスクリプトの事例でした。