#navi(../)
* PowerShellでファイルの拡張子を一括変換する方法 [#v31d36a9]
PowerShellで指定した拡張子を一括変換するサンプルスクリプトを以下に記します。~

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* BaseNameを使用して拡張子を変更してみる [#m464f369]
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

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

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS