Windows 批量重命名/替换字符串

Windows 批量重命名/替换字符串

我正在尝试将文件从一种格式重命名为另一种格式。500 多个文件。目前使用 notepad++ 手动对单个文件名进行重命名。是否有任何命令或脚本,请告诉我,非常感谢您的帮助。

DB2.V12.RPT(DDG1RP01)   
DB2.V12.RPT(DDG1RP02)   
DB2.V12.RPT(DDG1RP03)   
DB2.V12.RPT(DDG1RP04)   

想要重命名为

ren DB2.V12.RPT(DDG1RP01)      DDG1RP01.txt
ren DB2.V12.RPT(DDG1RP02)      DDG1RP02.txt
ren DB2.V12.RPT(DDG1RP03)      DDG1RP03.txt
ren DB2.V12.RPT(DDG1RP04)      DDG1RP04.txt

即删除这些“DB2.V12.RPT(”和“)”并重命名为.txt文件。

答案1

您可以在 powershell 中轻松完成此操作。复制此文件并将其保存为 .ps1 文件。更改路径以匹配您拥有的内容。更改第一行以匹配文件所在的目录,然后将大约一半的 $location 变量更改为相同的内容。请注意,第一个没有尾部斜杠,但 $location 有。

#get all files in this directory
$files = Get-ChildItem("d:\tempfiles")

#Loop through each filename and rename it leaving only the value in parentheses and then adding .txt to the end
foreach ($file in $files)
{

 $filename = $file.ToString()
 #replace first half of filename up to first parenthese with nothing
 $replace1 = $filename.Replace("DB2.V12.RPT`(" , "")

 #replaces the last parenthese with .txt
 $replace2 = $replace1.ToString().Replace("`)" , ".txt")

 $location = "d:\tempfiles\"

 $oldFilename = $location + $filename
 $newFilename = $location + $replace2

 Write-Host($oldFilename)
 Write-Host($newFilename)

 Rename-Item -Path $oldFilename -NewName $newFilename 

}

这: 之前的文件

将会变成这样: 之后的文件

相关内容