batch-file - 将所有子文件夹中的 files1 重命名为 fileA
问题描述
每当我需要一些东西时,我都会来到这里,此时我需要一些我在这里找到的东西,但在这段代码中想要更多:
@echo off
setlocal enableDelayedExpansion
for %%F in (*.txt) do (
set "name=%%F"
ren "!name!" "!name:file1=fileA!"
ren "!name!" "!name:file2=fileB!"
)
我的问题是:如何重命名此文件夹和子文件夹中的文件 1 和文件 2,并在最后写一条消息“重命名:2 个文件”
谢谢您的帮助。
解决方案
要使其递归(处理子文件夹),请添加/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
推荐阅读
- pyspark - 使用 spark sql 进行条件滞后求和
- javascript - 在输入字段上复制/粘贴验证并限制字符
- html - 如何使用对象拟合将图像叠加在另一个图像的角落
- mule - 执行 mule 批处理流时出现异常,例如无法通过提及文件的路径来删除对象存储中的文件
- axapta - 将 doc 文件保存为 word 模板
- javascript - X-editable ajax 不发送某些 id
- php - PHP 基础算术 + 类型转换 floatval intval
- video-streaming - 我需要什么配置才能实时流式传输 720p 音频?
- python - 将列表(多维数组)列表放入熊猫数据框列
- c++ - C++ std::shared_ptr,是否重载 operator= 以使用复制构造函数?