如何使用“ ren”或“重命名”来截断文件名,直到强调为止?

问题描述 投票:0回答:2

我在C:\aaa\temp中保存了以下文件名

之前:

92485345_A0027777882244.zip
87493354_A0027684085444.zip
87111901_A0027871905777.zip

文件名中的某些固定规则:

  1. 我需要删除字符直到下划线“ _”
  2. 下划线后的名称始终以A0027开头

有人可以教我如何编写脚本以按以下方式批量重命名它们:

之后:

A0027777882244.zip
A0027684085444.zip
A0027871905777.zip
powershell batch-file cmd
2个回答
1
投票
如果下划线_前面的字符数始终相同,则使用此:

rem // Expecting 8 characters in front of `_`: ren "????????_A0027*.zip" "/////////*.*"

这是ren的未记录功能,其描述为there


[_前面的字符数可以变化时,您必须使用dir /B来获取匹配文件的列表,然后使用dir /B进行捕获并拆分文件名,然后使用for /F loop最终重命名每个文件:

for /F

要在ren中使用此代码,您需要将ren更改为for /F "tokens=1* delims=_" %E in ('dir /B /A:-D "*_A0027*.zip"') do @ren "%E_%F" "%F"


0
投票
    列出目录中的文件。
  • 遍历名称列表。
  • 删除字符直到下划线(包括下划线。)>
  • 在遍历列表时,将每个文件重命名为新名称。
  • 现在,如果您选择通过脚本或管道执行此操作,则取决于您。
© www.soinside.com 2019 - 2024. All rights reserved.