このエントリーをはてなブックマークに追加


PowerShellでファイルの拡張子を一括変換する方法

PowerShellで指定した拡張子を一括変換するサンプルスクリプトを以下に記します。


スポンサーリンク

BaseNameを使用して拡張子を変更してみる

FileInfoには、ScriptPropertyとしてBaseNameがあるのでこれを利用することにします。

PS D:\data> Get-ChildItem .\a.log | Get-Member


   TypeName: System.IO.FileInfo

Name                      MemberType     Definition
----                      ----------     ----------
<省略>
BaseName                  ScriptProperty System.Object BaseName {get=if ($this.Extension.Length -gt 0){$this.Name.Re...
<省略>

実際には以下のような構文になります。

Get-ChildItem 対象ファイル群 | % { Rename-Item $_ ($_.BaseName + ".拡張子") }

以下のようなファイルがある状態で、拡張子がlogのファイルをabcに変更してみます。

PS D:\data> dir


    ディレクトリ: D:\data


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2016/01/21     22:41              8 a.log
-a----       2016/01/21     22:41              8 b.log
-a----       2016/01/21     22:41              8 c.log
-a----       2016/01/21     22:41              8 d.txt
-a----       2016/01/21     22:41              8 e.txt
-a----       2016/01/21     22:41              8 f.txt


PS D:\data> Get-ChildItem *.log | % { Rename-Item $_ ($_.BaseName + ".abc") }
PS D:\data> dir


    ディレクトリ: D:\data


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2016/01/21     22:41              8 a.abc
-a----       2016/01/21     22:41              8 b.abc
-a----       2016/01/21     22:41              8 c.abc
-a----       2016/01/21     22:41              8 d.txt
-a----       2016/01/21     22:41              8 e.txt
-a----       2016/01/21     22:41              8 f.txt

以上、ファイルの拡張子を一括で変換する方法でした。


スポンサーリンク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-01-21 (木) 22:53:16 (943d)