当前位置:  开发笔记 > 编程语言 > 正文

使用PowerShell为文件添加扩展名

如何解决《使用PowerShell为文件添加扩展名》经验,为你挑选了2个好方法。

我有一个文件目录,我想附加文件扩展名,只要它们没有现有的指定扩展名.因此,将.txt添加到所有不以.xyz结尾的文件名中.PowerShell似乎是一个很好的候选人,但我对此一无所知.我该怎么办呢?



1> EBGreen..:

以下是Powershell方式:

gci -ex "*.xyz" | ?{!$_.PsIsContainer} | ren -new {$_.name + ".txt"}

或者使它更冗长,更容易理解:

Get-ChildItem -exclude "*.xyz" 
    | WHere-Object{!$_.PsIsContainer} 
    | Rename-Item -newname {$_.name + ".txt"}

编辑:DOS方式当然没有任何问题.:)

EDIT2:Powershell确实支持隐式(并明确表示)行延续,而Matt Hamilton的帖子显示它确实使事情更容易阅读.



2> Matt Hamilto..:

+1到EBGreen,除了(至少在XP上)get-childitem的"-exclude"参数似乎不起作用.帮助文本(gci - ?)实际上说"此参数在此cmdlet中无法正常工作"!

所以你可以像这样手动过滤:

gci 
  | ?{ !$_.PSIsContainer -and !$_.Name.EndsWith(".xyz") } 
  | %{ ren -new ($_.Name + ".txt") }

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有