湖边的白杨树

探索是一种乐趣

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
Get-ChildItem -Path C:\temp\test -Filter *.txt | 
 Rename-Item -NewName {$_.Basename.Replace("Old","New") + $_.extension} -WhatIf -Verbose

 

如上  将指定目录下的所有的文件名从 old 改成 new.. 

adding -WhatIf at the end of the command we are saying to PowerShell: 'Just test, don't actually make any permanent changes'.

 -Recurse 查子文件夹。

 

重命名示例

需求:將D盤For PS文件夾下的A.txt文件重命名爲aa.txt

 
  1. rename-Item 'D:\For PS\A.txt' -NewName 'aa.txt'  

 

批量改文件擴展名

需求:將D盤For PS文件夾下的所有的txt文件改爲html文件,即.txt改爲.html

 

  1. get-childItem 'D:\For PS' *.txt | rename-item -newname { $_.name -replace '\.txt','.html' }  

備註:由於replace的模式匹配字符串參數支持正則表達式,'.txt'要轉義成'\.txt'。

批量爲文件加前綴

需求:將D盤For PS文件夾下的所有的txt文件加上一個“Test_”的前綴

 

  1. cd 'D:\For PS'  
  2. get-childItem  -r *.txt | rename-Item -newname{'Test_'+$_.name}  

如果覺得上面的命令太精簡,看不太懂,可以用如下語句,更好理解些:

  1. $dir = dir D:\ForPS *.txt  
  2. foreach($_ in $dir)  
  3. {  
  4.         rename-Item $_.FullName -NewName ('Test_'+$_.Name)  
  5. }  

 

將D盤For PS文件夾下的所有的txt文件重命名為 Note1.txt、Note2.txt這樣的形式

  1. get-childItem  'D:\For PS' -r  *.txt | foreach-Object -Begin {$count = 1}  -Process{   
  2. rename-Item $_.fullname -NewName "Note$count.txt";$count++}    

 

 

 

 

posted on 2018-05-23 11:12  fdyang  阅读(10493)  评论(1编辑  收藏  举报