(PowerShell) 重命名文件

Get-ChildItem -Path C:\temp\test -Filter *.txt | 
 Rename-Item -NewName {$_.Basename.Replace("Old","New") + $_.extension} -WhatIf -Verbose

 

如上  將指定目錄下的全部的文件名從 old 改爲 new.. html

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

 -Recurse 查子文件夾。spa

 

重命名示例

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

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

 

批量改文件擴展名

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

 

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

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

批量爲文件加前綴

需求:將D盤For PS文件夾下的全部的txt文件加上一個「Test_」的前綴blog

 

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

若是覺得上面的命令太精簡,看不太懂,能夠用以下語句,更好理解些:ci

  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++}    
相關文章
相關標籤/搜索