假设我有一个文件夹N avi视频文件和一个文本文件 names.txt ,有N行。 我想创建一个批处理文件,它将重命名所有视频文件:
我设法编写了一个用于解析 names.txt
的脚本@echo off
for /f "tokens=1 delims=" %%a in (names.txt) do echo %%a
这是脚本thar解析.avi文件
@echo off
for %%b in (*.avi) do echo %%~nb
如何组合它们以便传递将并行完成?
答案 0 :(得分:1)
我想我在这篇文章中找到了你需要的东西:How to batch rename files in a directory from a list of names in a text file
我已经量身定制了他们的一个解决方案,试图回答你的问题...
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
rem Load the list of new filenames
set i=0
for /F "delims=" %%a in (names.txt) do (
set /A i+=1
set "newname[!i!]=%%a"
)
rem Do the rename:
set i=0
for /F "delims=" %%a in ('dir /b /o:n *.avi') do (
set /A i+=1
for %%i in (!i!) do ren "%%a" "!newname[%%i]!"
)
我会对列出文件的顺序非常小心。我建议在" dir"中添加一个排序顺序。命令。 Windows DIR Command Documentation