如何通过从开始删除数字和固定字符串来重命名文件,并在文件扩展名之前保留只是数字?

时间:2017-11-04 10:00:14

标签: windows batch-file batch-rename

我有一些文件如下所示,我想使用批处理脚本重命名这些文件,方法是从begin中删除一个数字和一个固定的字符串,并在文件扩展名之前保留一个数字。

Original name       New name
----------------    --------
1_Asset_28.png   -> 28.png
212_Asset_2.png  -> 2.png
1_Asset_288.png  -> 288.png
89_Asset_117.png -> 117.png

目标是删除第一个号码_Asset_

我一直在寻找,但仍然不知道如何做到这一点。

如何使用批处理文件重命名此文件?

3 个答案:

答案 0 :(得分:1)

为您提供一个选项:

@Echo Off
For %%A In ("*_Asset_*.png") Do (Set "fN=%%A"
    Call Ren "%%A" "%%fN:*_Asset_=%%")

答案 1 :(得分:0)

您可以通过下划线拆分输入并使用最后一个标记 当您无法使用PowerShell时,可以使用for /f标记器,如下所示:

set input=1_Asset_28.png
rem split by underscore
for /f "tokens=3 delims=_" %%a in ("%input%") do set "output=%%a"

echo output %output%"

将打印

output "28.png"

答案 2 :(得分:-1)

尝试使用此PowerShell命令:

Get-ChildItem -Filter *Asset*.png | %{ Rename-Item $_.FullName -NewName $_.FullName.Substring($_.FullName.LastIndexOf('_') + 1) }