写一个windows脚本 读取文件夹内的文件 读取文件名第二个下划线前的部分并用某个单词代替这部分内容并保留后续的文件名
时间: 2024-03-08 13:48:49 浏览: 61
读文件脚本
以下是一个可用的Windows脚本,它可以读取指定文件夹中的所有文件名,并将每个文件名中第二个下划线前的部分替换为“newword”,并保留后续的文件名。
```batch
@echo off
setlocal enabledelayedexpansion
set "source_folder=C:\path\to\folder"
set "new_word=newword"
for %%F in ("%source_folder%\*_*_*.*") do (
set "filename=%%~nF"
for /f "tokens=1,* delims=_" %%A in ("!filename!") do (
set "new_filename=%%A_%new_word%_%%B%%~xF"
echo Renaming "!filename!" to "!new_filename!"
ren "%%F" "!new_filename!"
)
)
echo Done.
```
解释:
- 第2行:启用延迟变量扩展,以便我们可以在循环中使用变量。
- 第4行:设置要读取的文件夹路径。
- 第5行:设置要替换第二个下划线前部分的单词。
- 第7行:使用通配符“*_*_*.*”获取所有符合模式的文件。
- 第8行:使用变量“%%F”循环处理每个文件。
- 第9行:提取文件名(不包括扩展名)到变量“filename”中。
- 第10-13行:使用分隔符“_”将文件名分成两个部分,并将第二个部分替换为新单词,然后将两个部分重新组合成新文件名到变量“new_filename”中。
- 第14行:输出将要重命名的原文件名和新文件名。
- 第15行:使用“ren”命令将原文件名重命名为新文件名。
- 第17行:循环结束后输出“Done.”。
注意:
- 要替换的部分必须是文件名的第二个下划线前的部分。如果需要替换其他部分,需要修改第10-13行的代码。
- 如果文件名中没有下划线,或者下划线少于两个,脚本将不会对该文件进行任何操作。
- 请注意备份文件,因为重命名操作不可逆。
阅读全文