写一个windows脚本 读取文件夹内的文件 读取文件名第二个下划线前的部分并用某个单词代替这部分内容
时间: 2024-03-08 19:48:27 浏览: 72
以下是一个Windows脚本,它可以读取指定文件夹中的文件名,并将文件名中第二个下划线前的部分替换为指定的单词:
```
@echo off
setlocal enabledelayedexpansion
set folder=C:\path\to\folder
set replace_word=myword
for %%f in (%folder%\*) do (
set filename=%%~nxf
for /f "tokens=1,* delims=_" %%a in ("!filename!") do (
set new_filename=%%a_%replace_word%%%~xf
ren "%%f" "!new_filename!"
)
)
echo Done.
```
在上面的脚本中,我们首先定义了一个文件夹路径和一个替换单词。然后,我们使用for循环遍历指定文件夹中的所有文件。对于每个文件名,我们使用另一个for循环来分离出第二个下划线前的部分,并将其替换为指定的单词。最后,我们使用ren命令来重命名文件。
需要注意的是,我们使用了enabledelayedexpansion来启用延迟扩展变量,以便在内部for循环中使用变量。另外,我们还使用了echo命令来输出处理完成的提示信息。
相关问题
写一个windows脚本 读取文件夹内的文件 读取文件名第二个下划线前的部分并用某个单词代替这部分内容并保留后续的文件名
以下是一个可用的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行的代码。
- 如果文件名中没有下划线,或者下划线少于两个,脚本将不会对该文件进行任何操作。
- 请注意备份文件,因为重命名操作不可逆。
写一个windows脚本 读取文件夹内的文件 读取文件名将第二个下划线前的内容用某个单词代替
以下是一个可用的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行的代码。
- 如果文件名中没有下划线,或者下划线少于两个,脚本将不会对该文件进行任何操作。
- 请注意备份文件,因为重命名操作不可逆。
阅读全文
相关推荐
















