#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)