我想使用PowerShell例如批量文件重命名:重命名批量文件
my-file-name-photo.jpg
到my-file-name-new-photo.jpg
this file name photo.jpg
到this file name new photo.jpg
this is best image.jpg
到this is best new image.jpg
「新」 是恩。單詞我想添加在文件名中。
我想使用PowerShell例如批量文件重命名:重命名批量文件
my-file-name-photo.jpg
到my-file-name-new-photo.jpg
this file name photo.jpg
到this file name new photo.jpg
this is best image.jpg
到this is best new image.jpg
「新」 是恩。單詞我想添加在文件名中。
$names = 'my-file-name-photo.jpg', #'my-file-name-new-photo.jpg'
'this file name photo.jpg', #'this file name new photo.jpg
'this is best image.jpg' #this is best new image.jpg
$names | ForEach { $_ -replace '(.)(photo|image)', '$1new$1$2' }
這將做你所描述的字符串替換。它會查找任何字符(空格或短劃線),然後查找「照片」或「圖片」,並使用相同的分隔符將「新」放在前面。
與Rename-Item
(Martin Brandl的回答)一起使用來重命名文件,例如,在PowerShell提示符下:
cd c:\users\yourname\Documents\Photos
Get-ChildItem | Rename-Item -NewName { $_.Name -replace '(.)(photo|image)', '$1new$1$2' }
嗨感謝您的回答和你的時間。在文件夾中有大約200個文件,所以在這裏我需要把所有的文件名放在$ names ='my-file-name-photo.jpg',#'my-file-name-new-photo.jpg' '這個文件名photo.jpg',#'這個文件名new photo.jpg '這是最好的image.jpg'#這是最好的新圖片.jpg或者它會將所有的文件重命名爲 – deva
我已經編輯了一些東西來獲取文件並重命名它們。 – TessellatingHeckler
優秀,再次感謝! – deva
使用Get-ChildItem cmdlet檢索文件並將其傳送到Rename-Item cmdlet。它使用空格(如您的評論請求),例如:
Get-ChildItem 'c:\tmp' |
Rename-Item -NewName {('{0} new{1}' -f $_.BaseName, $_.Extension) }
第一個示例在單詞之間有一個「-',而另一個空格。決定你想要什麼... –
是的一些文件的名稱與 - 一些空間..這不是問題,我可以管理我的自我。請提供空間名稱文件的幫助。 – deva