スポンサーリンク

PowerShellを用いたファイル名称一括変更でワイルドカードが使えない

記事内に広告が含まれています。

PowerShellの-replaceを用いたファイル名称変更ではアスタリスクでのワイルドカードが使用できず、正規表現を使う必要がありました。

所定のフォルダに存在する *hoge*.tsv というファイルの名称の hoge* の部分を変更したい場合のスクリプトは以下のとおりです。

# フォルダパス
$Folder = 'C:\folder'

# フォルダ内のファイル名を変更
Get-ChildItem -Path $Folder -Filter *.tsv | ForEach-Object {
    $originalFilePath = $_.FullName

    # ファイル名から 'hoge' とその後の文字列を削除
    $newFileName = $_.Name -replace 'hoge(.+)', '.tsv'
    $newFilePath = Join-Path $Folder $newFileName

    # ファイル名を変更
    Rename-Item $originalFilePath $newFilePath
}
スポンサーリンク
Windows
著者SNS
タイトルとURLをコピーしました