我有一些文件如下所示,我想使用批处理脚本重命名这些文件,方法是从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_
。
我一直在寻找,但仍然不知道如何做到这一点。
如何使用批处理文件重命名此文件?
答案 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) }