发布网友 发布时间:2022-04-30 10:25
共1个回答
热心网友 时间:2022-06-21 04:02
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=#" %%a in ('type "namelist.txt"') do (
set name=%%a
set !name: =_!=%%b
)
pushd D:\文件目录\
for /f "tokens=1* delims=_" %%a in ('dir /a-d /b *.txt') do(
set name=%%a
set name=!name: =_!
if defined !name! ren "%%~a_%%~b" "!name!_%%~b"
)
popd
下面是解释:
1、关闭回显
2、开启环境变量迟缓
3、取namelist.txt中各行内容,以#分割内容,并执行4、5行
4、将#前的内容存入name
5、将name中空格替换为_后与#后的内容建立对应关系
6、
7、跳转到需要执行的目录
8、列举txt文件名,以_分割,并执行9、10、11
9、将_前的内容存入name
10、将name中空格替换为_
11、判断是否有对应文本。如果有,则将重命名文件
12、
13、跳回初始目录