本帖最后由 thp2008 于 2023-9-8 17:21 编辑
比如
MVName.txt
XX电影.www.xxx.com.
NN.影视.www.abc.com.
......
FileLX.txt
*.mp4
*.mkv
.....- for /f "delims=" %%a in ('type "MVName.txt"') do (set oldname=%%a)
- for /f "delims=" %%b in ('type "FileLX.txt"') do (set wildcard=%%b)
- newname 设置为空值。
复制代码 我是想用下面的批量改名批处理,但想自动从上面两个文本文件读取变量,就是我从MVName.txt中读取第一行后,将FileLX.txt中所有行,都运行一遍。然后,再从MVName.txt读取第二行,再将FileLX.txt 的所有行,都跑一遍,这个应该怎么写?- @echo off
- setlocal
-
- set /p oldname=请输入批量改名中需要更换的重复部分:
- set newname=
- set /p wildcard=请输入文件名通配符列表(缺省为所有文件,即“*”):
-
- for /f "usebackq delims=" %%i in (`dir /s/b/a-d %wildcard%`) do (
- setlocal enabledelayedexpansion
-
- set var=%%~nxi
- set "var=!var:%oldname%=%newname%!"
-
- if not "%%~nxi"=="!var!" (echo 正在改名:"%%i" =》 "!var!")
- echo %%i |find "mutiren.bat" >nul || ren "%%i" "!var!" >nul
-
- endlocal
- )
-
- endlocal
复制代码
|