@echo off setlocal enabledelayedexpansion set "source_folder=C:\path\to\your\folder" for %%F in ("%source_folder%\*.csv") do ( set "filename=%%~nF" set "extension=%%~xF" for /f "tokens=1,2,3,4 delims=_" %%A in ("!filename!") do ( set "new_filename=%%A_%%B_%%D!extension!" ren "%%F" "!new_filename!" ) ) echo File name format conversion completed.增加循环功能
时间: 2023-12-23 09:05:06 浏览: 157
如果你想要在给定的文件夹中循环执行文件名格式转换的操作,你可以使用一个循环来遍历不同的文件夹。以下是修改后的脚本示例:
```batch
@echo off
setlocal enabledelayedexpansion
set "parent_folder=C:\path\to\parent\folder"
set "subfolders=folder1 folder2 folder3"
for %%D in (%subfolders%) do (
set "source_folder=!parent_folder!\%%D"
for %%F in ("!source_folder!\*.csv") do (
set "filename=%%~nF"
set "extension=%%~xF"
for /f "tokens=1,2,3,4 delims=_" %%A in ("!filename!") do (
set "new_filename=%%A_%%B_%%D!extension!"
ren "%%F" "!new_filename!"
)
)
)
echo File name format conversion completed.
```
在这个示例中,你需要将`parent_folder`变量的值替换为包含子文件夹的父文件夹的路径。然后,用空格分隔的子文件夹列表替换`subfolders`变量的值。
脚本将在每个子文件夹中执行文件名格式转换操作。首先,它会设置`source_folder`变量为当前子文件夹的路径。然后,它会遍历该子文件夹中所有的csv文件,并按照给定的格式进行重命名。
运行脚本后,输出窗口会显示"File name format conversion completed.",表示文件名格式转换完成。请在运行脚本之前备份你的文件,以防止意外情况。
阅读全文