bat脚本for循环批量替换文件名称
时间: 2024-07-12 18:01:09 浏览: 335
Windows bat脚本之for循环用法详解
在批处理(bat)脚本中,你可以使用`for /f`命令结合`ren`命令来进行批量替换文件名。`for /f`是一个用于读取文件行并执行指定操作的循环,而`ren`命令用于重命名文件。这里是一个简单的例子:
```batch
@echo off
setlocal enabledelayedexpansion
:: 假设你要从源目录 "src" 中,将所有 ".txt" 文件的扩展名替换成 ".old"
set src_dir=src
set old_ext=.txt
set new_ext=.old
:: 使用 for /f 循环遍历源目录中的所有.txt文件
for /f "delims=" %%a in ('dir /b "%src_dir%\*%old_ext%"') do (
set old_file=%%a
set new_file=!old_file:%old_ext%=%new_ext%!
ren "!old_file!" "!new_file!"
)
:: 结束延迟环境变量扩展,关闭批处理
endlocal
```
在这个脚本中,我们首先设置了一些变量,如源目录、旧扩展名和新扩展名。然后使用`dir /b`命令获取源目录下所有.txt文件的完整路径,并逐个用`for /f`循环处理。对于每行匹配到的文件,我们将旧名字和新名字赋值给`old_file`和`new_file`,接着调用`ren`命令进行重命名。
运行这个脚本之前,请确保保存在一个`.bat`文件中,并且具有适当的权限访问源目录。
阅读全文