You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将当前文件夹名称作为替换值写入批量重命名批处理脚本?

解决方法:自动获取当前目录名替换模板文件名

直接用以下修改后的批处理脚本即可实现需求,同时优化了重复代码:

@echo off
Setlocal enabledelayedexpansion

:: 获取当前目录名并存入Replace变量,替代原手动设置的RepName
for %%d in (.) do set "Replace=%%~nd"
Set "Pattern=XXxxxxxxXX"

:: 合并所有需要重命名的文件格式,减少重复代码
For %%a in (*.docx *.xlsx *.xlsm *.doc) Do (
    Set "File=%%~a"
    Ren "%%a" "!File:%Pattern%=%Replace%!"
)

Pause&Exit

关键修改说明:

  • 自动获取目录名:把原脚本中仅打印目录名的for %%* in (.) do @echo %%~n*改成赋值语句for %%d in (.) do set "Replace=%%~nd",其中%%~nd表示提取当前目录(.)的名称(不含路径),直接存入Replace变量,无需手动设置。
  • 合并重复循环:将原四个分别处理不同格式的for循环合并为一个,用空格分隔多个文件扩展名,简化代码结构,避免冗余。
  • 保留原脚本的延迟扩展(enabledelayedexpansion),确保变量替换在循环内正常生效。

内容的提问来源于stack exchange,提问作者SEsco25

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 11:27:36