在所有子文件夹中将files1重命名为fileA

时间:2018-06-12 13:47:06

标签: batch-file

每当我需要什么东西时,我都来到这里,此时我需要一些我在这里找到的东西,但在这段代码中需要更多:

@echo off
setlocal enableDelayedExpansion
for %%F in (*.txt) do (
  set "name=%%F"
  ren "!name!" "!name:file1=fileA!"
  ren "!name!" "!name:file2=fileB!"
)

我的问题是:如何重命名此文件夹和子文件夹中的files1和file 2,并在末尾写下一条消息"重命名:2个文件"

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使其递归(处理子文件夹),添加/R开关 使用变量来构建新文件名,并且每个文件只执行一次ren命令。

@echo off
setlocal enableDelayedExpansion
set count=0
for /R %%F in (*.txt) do (
  set "newname=%%~nxF"
  set "newname=!newname:file1=fileA!"
  set "newname=!newname:file2=fileB!"
  ren "%%F" "!newname!"
  set /a count+=1
)
echo %count% files renamed