Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【Windows PowerShell】ファイル名からなる文字列から、1つもしくは複数の拡張子を取り除く

-replace演算子を使用して正規表現を用いた文字列の置換をすればよい。以下、例。

PS > $filename = "hij.klm.nop.qrs"
PS > $filename
hij.klm.nop.qrs
PS > $filename -replace "\.[^.]+$", ""
hij.klm.nop
PS > $filename -replace "\..+$", ""
hij
PS > $st = $filename -replace "\..+$", ""
PS > $st
hij

 1つ目の例は、拡張子を1つだけ取り除いている。2つ目の例はすべての拡張子を取り除いている。

最後は置換した文字列が他の変数(上記例では$st)に代入できることを示した例。

【改訂新版】 Windows PowerShell ポケットリファレンス Windows PowerShell超入門 [4.0対応] Windows PowerShellクックブック Windows PowerShell逆引きハンドブック PowerShell for Azure Windows PowerShell 実践システム管理ガイド2版 (TechNet ITプロシリーズ) ネットワーク管理に使うWMI―PowerShellによるWindowsマシン管理 動くサンプルで学べる Windows PowerShell コマンド&スクリプティングガイド PowerShell 4.0対応