bat 批量修改文件名

比如记事本里的每行文字是
你好

你的啊
aaa
很多省略............
然后a目录下有这些文件
123.txt
111.txt
222.txt
xxx.txt
很多省略............
用批处理改完后的文件名是
你好.txt
你.txt
你的啊.txt
aaa.txt
很多省略............

第1个回答  2013-10-04
@echo off
set /p a=请输入要更名的文件所在目录
for /f %%i in (a.txt) do (
for /r %a% %%a in (*.txt) do (
ren "%%a" "%%i.txt"
)
)
把它和
你好

那个记事本放在一起,并把记事本改名为a.txt
运行程序,输入要更名文件所在的目录,即可完成改名追问

我想把a.txt 放到目录1 里面 要改的文件放到目录2 里面 改好的文件放到3目录里
都是bat的根目录 1 2 3 怎么上面的批处理

追答

@echo off

xcopy /y 2 3

for /f %%i in ('type 1\a.txt') do (

for /r "3" %%q in (*.txt) do (

ren "%%q" "%%i.txt"

)

)

本回答被提问者采纳
第2个回答  2013-10-04
rename * *.txt追问

没明白 能写更详细些吗

追答

就是用rename这个重命名的命令来修改,你用windows系统还是在dos下改?

追问

windows 或dos都行

给个写法呗 你的不行啊 比如是 根目录下1.txt 的每行 内容 是文件名 修改根目录下2文件夹下面所有*.txt 为1.txt 每行内容

追答

你是要改文件里面的内容啊,看错了。

追问

不管用啊

追答

修改文件内容,这个我还真不知道用什么命令能实现。这个命令是修改文件名的。