bat脚本,批量修改文件夹内文件名称

*****此代码通过人工智能生成,本文只是做使用记录,方便下次使用*******
*****此代码有问题,未修改*******

*****后经测试,应该是bat脚本读取文件顺序不是按照文件夹内排序的顺序读取,解决思路(猜测):需要先按一定顺序读取到临时目录,修改完成后,删除临时目录,但是觉得没必要,后修改了一个python,满足自己现工作需要,觉得需要可参考:python---根据excel表格数据及word模板,批量修改word内容,生成指定列标题文件-CSDN博客

@echo off
:: 解决中文乱码问题
chcp 65001

setlocal enabledelayedexpansion

:: 设置起始序号
set /A counter=01

:: 指定目标目录
:: set "targetDir=I:\平台工作内容\11.项目资料\10.2024年资料补充\运维项目资料补充V1.1-附件2\9月"

:: 获取当前脚本的驱动器盘符和路径,不含文件名
set "targetDir=%~dp0"

:: 进入目标目录
pushd "%targetDir%"

:: 遍历目录下所有文件--doc文件
for %%F in (*.doc) do (
    :: 构建新文件名,这里以"新名称_序号.原扩展名"为例
    set "newName=【!counter!】平台运行记录%%~xF"
    
    :: 重命名文件
    ren "%%F" "!newName!"
    
    :: 序号递增
    set /A counter+=1
)

:: 返回到原始目录
popd

echo 文件重命名完成!
pause
@echo off
:: 获取当前脚本的完整路径,包括文件名
set "fullScriptPath=%~f0"

:: 获取当前脚本的驱动器盘符和路径,不含文件名
set "currentScriptDirectory=%~dp0"

echo 当前脚本所在的目录是: %currentScriptDirectory%

:: 如果需要在该目录下执行其他命令或操作,可以继续编写后续代码
pause

【注】:使用过程遇到序号生成跳过1个序号问题,有时候又是正常的,影响不大,未排查问题

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要用bat脚本批量删除文件夹名字中的指定文字,可以按照以下步骤操作: 1. 首先,打开一个文本编辑器,新建一个bat脚本文件。可以使用任何文本编辑器,如记事本、Notepad++等。 2. 在脚本文件中,使用"for"循环遍历文件夹。可以使用以下命令来获取文件夹列表: ```bash for /d %%i in ("文件夹路径") do ( ) ``` 其中,“文件夹路径”是要操作的文件夹的路径。可以使用相对路径或绝对路径。 3. 在"for"循环的括号内,使用"set"命令来替换文件夹名称中的指定文字。例如,如果要删除文件夹名称中的"指定文字",可以使用以下命令: ```bash set "new_name=%%~ni" set "new_name=!new_name:指定文字=!" ``` 这里将文件夹名称保存在"new_name"变量中,并使用"!"语法将"指定文字"替换为空字符串。 4. 使用"rename"命令来重命名文件夹。例如,可以使用以下命令: ```bash rename "%%i" "!new_name!" ``` 这里使用"!"语法来引用变量,并使用"rename"命令来将文件夹重命名为"new_name"变量中的名称。 5. 最后,保存并关闭脚本文件。 请注意,使用bat脚本进行文件夹重命名时,应谨慎操作,以免删除了重要文件夹。 在运行脚本之前,最好在备份系统或测试环境中进行测试,以避免意外损失。 ### 回答2: 可以使用bat脚本批量删除文件夹名字中的指定文字,具体步骤如下: 1. 首先,打开记事本或者其他文本编辑器,创建一个新的bat文件。 2. 在bat文件中,添加如下代码: ```bat @echo off setlocal enabledelayedexpansion set target=指定文字 set folder_path=文件夹路径 for /d %%i in (%folder_path%\*) do ( set "folder=%%~nxi" set "new_folder=!folder:%target%=!" if not "!folder!"=="!new_folder!" ( ren "%%i" "!new_folder!" ) ) pause ``` 3. 在上述代码中,你需要修改`指定文字`为你需要删除的文字,`文件夹路径`为你需要批量删除文件夹的路径。 4. 保存并关闭bat文件。 5. 双击运行bat文件,它将批量删除文件夹名字中的指定文字。 注意事项: - 运行bat文件时,要确保文件夹路径正确,以免删除了其他文件夹。 - `set folder_path=文件夹路径`中的文件夹路径可以是相对路径或绝对路径,如`set folder_path=C:\folder`或`set folder_path=.\folder`。 - 使用前请注意备份相关数据,以防误操作删除错误的文件夹。 希望以上内容对你有所帮助! ### 回答3: 在BAT脚本中,可以使用一些命令和技巧来实现批量删除文件夹名字中的指定文字。 首先,我们可以使用`for /d`命令来遍历当前目录下的文件夹,然后使用`ren`命令进行重命名操作。 以下是一个示例脚本,用于删除文件夹名字中的指定文字: ```bat @echo off setlocal enabledelayedexpansion set "target=指定文字" set "replacement=" for /d %%d in (*) do ( set "folder=%%~d" set "newFolder=!folder:%target%=%replacement%!" if not "!folder!"=="!newFolder!" ( ren "%%~d" "!newFolder!" ) ) ``` 在脚本中,可以修改`target`变量来指定需要删除的文字。然后,使用`for /d`命令遍历当前目录下的文件夹,并将文件夹名字传递给`ren`命令进行重命名操作。 重命名操作中使用了`!folder:%target%=%replacement%!`的语法,这会将`folder`变量中的`target`内容替换成`replacement`内容。如果文件夹名字发生了改变,则执行`ren`命令进行重命名。 注意,在BAT脚本中,使用`!`而不是`%`来延迟变量解析,以确保在循环中正确使用变量。 这样,运行脚本后,文件夹名字中的指定文字就会被删除了。请确保在运行脚本之前备份重要的文件夹,以免意外删除数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值