好吧,我有一個文件夾充滿文件。這些文件中的每一個文件都添加了12個字符的擴展名(日期時間戳)(每天將文件傳送到另一個系統時生成)。使用Powershell刪除隨機生成的文件擴展名
所以我有文件
abcd.txt.161205042500
efgh.txt.112845035688
等
我想PS大規模重命名這些文件。基本上修剪文件夾中每個文件的文件名的最後13個字符。
我發現的所有東西都是可以替換字符串的地方,但我沒有任何東西可以在這裏搜索。
任何幫助表示讚賞。
好吧,我有一個文件夾充滿文件。這些文件中的每一個文件都添加了12個字符的擴展名(日期時間戳)(每天將文件傳送到另一個系統時生成)。使用Powershell刪除隨機生成的文件擴展名
所以我有文件
abcd.txt.161205042500
efgh.txt.112845035688
等
我想PS大規模重命名這些文件。基本上修剪文件夾中每個文件的文件名的最後13個字符。
我發現的所有東西都是可以替換字符串的地方,但我沒有任何東西可以在這裏搜索。
任何幫助表示讚賞。
如果輸出看起來正確,取出-whatif
Get-ChildItem *.txt.* -file |Foreach { if ($_.Extension.length -eq 13) {
rename-item $_.FullName -NewName $_.Basename -whatif
}
}
Get-ChildItem "c:\temp" -file | where name -match ".\.txt\.[0-9]{12}$" | %{rename-item $_.FullName $_.Basename}
短版
gci "c:\temp" -file | ? name -m ".\.txt\.[0-9]{12}$" | %{rni $_.Fullname $_.Basename}
如果什麼名字不剝離13字符後延獨特之處? – LotPings
在這種情況下不需要擔心。我們每天獲得1個文件,日期是文件名。它會被拾取,並添加日期/時間擴展。 – uneasyrider
可能的重複[如何在PowerShell中沒有擴展名的文件路徑?](http://stackoverflow.com/questions/14770587/how-do-i-get-a-file-path-without-extension-in -powershell)和[remove-path-and-extension-from-filename-in-powershell](http://stackoverflow.com/questions/12503871/)和[file-output-in-powershell-without-extension]( http://stackoverflow.com/questions/13370055/) – TessellatingHeckler