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 以上、ファイルの拡張子を一括で変換する方法でした。 |