【发布时间】:2014-09-28 06:53:05
【问题描述】:
我想创建一个批处理脚本(.txt 或 .exe - 我没有 PowerShell)来重命名一组文件。文件名的当前格式为file_name_51.zip,我想将此文件重命名为MoreDetail_Detail_file_name_51.zip。
我尝试使用简单的“重命名项目”脚本或 CMD,但我的计算机无法识别该代码。我从 dbenham 看到了一个很好的可能代码示例:
@echo off
setlocal disableDelayedExpansion
pushd .
subst #: .
#:
for /f "eol=: delims=" %%F in ('dir /b /a-d *.txt^|findstr /er "_[0-9]*.txt"') do (
set "name=%%~nF"
setlocal enableDelayedExpansion
for /f "eol=: delims=" %%A in ("!name:_=\x!") do (
endlocal
set "file=%%F"
set "name=%%~pA"
set "num=%%~nA"
setlocal enableDelayedExpansion
set "num=0000!num:~1!"
set "name=!name:~1,-1!"
ren "!file!" "!name:\x=_!!num:~-5!.txt"
endlocal
)
)
popd
subst /d #:
但我是一个新手,我不知道如何操纵它来做我需要的事情。你能帮忙吗?
谢谢!
【问题讨论】: