批量更名改名提取文件内容批处理多解十例.docx
- 文档编号:4583146
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:10
- 大小:20.84KB
批量更名改名提取文件内容批处理多解十例.docx
《批量更名改名提取文件内容批处理多解十例.docx》由会员分享,可在线阅读,更多相关《批量更名改名提取文件内容批处理多解十例.docx(10页珍藏版)》请在冰豆网上搜索。
批量更名改名提取文件内容批处理多解十例
提取文件首行为文件名
更名-改名
批处理多解十例
一、如何将名称为aa-abc.jpg;aa-bcd.jpg图片用批命令改为abc.jpg,bcd.jpg;也就是去掉“-”及“-”以前的字符!
二、根据条件文件批量改名:
一个文件夹内有数个文件,文件名为ts001001.pdf-ts001100.pdf递增有一个文本文件,里面有相对应的名称,第一行为第一个文件的汉字名。
如:
“世界科技全景百卷书
(1)原始科技;世界科技全景百卷书
(2)数学与物理的发端;世界科技全景百卷书(3)近代科技…………”现在想根据那个文本文件,把文件名改为对应的汉字名加文件扩展名。
如:
第一个文件ts001001.pdf改为世界科技全景百卷书
(1)原始科技.pdf……
三、广告策划家★【汉魅huntmine—校内校外学习资源高速下载】.chm如前,我有很多这样的文件,怎样可以把★【汉魅huntmine—校内校外学习资源高速下载】这个部分同时删除呢!
四、bat批量改名,原数字名每个加10!
我有一堆TXT文件,比如:
1.txt;5.txt;8.txt;13.txt;33.txt……我想让他们在原来的文件名基础上+10改成:
11.txt;15.txt;18.txt;23.txt;43.txt……求高手给个BAT命令...OTZ!
1L的大哥..你给的BAT代码没起作用啊.囧,好吧..是我没说清楚!
其实,是我有一堆不连续数字命名的txt文件,他们都在3000以上(比如3968.txt)我把1L大哥的代码里//set/atname=sname+10改成了//set/atname=sname-10可是运行结果除了把第一个文件改成了".txt"其他都没有反应,囧!
我在代码结尾加了pause看到一堆.."存在一个重命名文件,或是找不到文件"求解..
五、bat批量改名,我有一堆文件:
1
(1).txt;22(22).txt;333(333.txt。
我想把后面括号里面的去除他们改成1.txt;22.txt;333.txt求高手帮忙,不好意思,我稍少打了半个括号竟然添加了你们这么多麻烦,是在不好意思!
六、批处理批量改名的几个问题,有一大批图片文件有JPG、GIF、BMP等,我想把它们以自然数改名并且加上前缀。
比如:
图片文件为qodf.jpg、iwqwlr.bmp、saljfowe.gif等,把它们改为:
美女图片0001.bmp、美女图片0002.gif、美女图片0003.jpg……
七、我的批处理是这样的,for/rE:
\图片\%%ain(*.jpg)doren%%a怎么写?
请问怎么把大量的图片依次改名为01.jpg02.jpg03.jpg.....
八、用批处理命令批量改名可以吗?
如:
[jumpcn][D-GRAY-MAN][22][704x396].rmvb到[jumpcn][D-GRAY-MAN][103][848x480].rmvb修成022.rmvb到103.rmvb!
九、求文件中提取第一行做标题批量改名程序或批处理命令!
求可以提取txt文件中第一行内容作为本txt文件标题,并批量改名的程序或批处理命令。
如:
“001.txt”文件中的第一行是“XX知道”,要求把“001.txt”改名成“XX知道.txt”。
十、批量导出和更改文件名的几种方法
一、如何将名称为aa-abc.jpg;aa-bcd.jpg图片用批命令改为abc.jpg,bcd.jpg;也就是去掉“-”及“-”以前的字符:
@echooff
setlocalenabledelayedexpansion
for/f"delims="%%ain('dir/s/b/a-d*.jpg')do(
set"xz=%%~nxa"
setxz=!
xz:
*-=!
ren%%~sa"!
xz!
"
)
pause
——在JPG所在文件夹运行
@echooff
titleBAT-GOXX知道团队asdfwxyz
for/f"tokens=1,2delims=-"%%1in('dir/b*.jpg')doren%%1-%%2%%2
exit
______________________________________________________________________
@echooff
titleBAT-GOXX知道团队asdfwxyz
setlocalenabledelayedexpansion
for%%1in(*-*.jpg)do(
seta=%%1
seta=!
a:
~4,20!
ren%%1!
a!
)
exit
______________________________________________________________________
——能用的方法不少,自己选一个比较合适你的吧。
二、根据条件文件批量改名:
一个文件夹内有数个文件,文件名为ts001001.pdf-ts001100.pdf递增有一个文本文件,里面有相对应的名称,第一行为第一个文件的汉字名。
如:
“世界科技全景百卷书
(1)原始科技
世界科技全景百卷书
(2)数学与物理的发端
世界科技全景百卷书(3)近代科技
…………”
现在想根据那个文本文件,把文件名改为对应的汉字名加文件扩展名。
如:
第一个文件ts001001.pdf改为世界科技全景百卷书
(1)原始科技.pdf
@echooff
setlocalENABLEDELAYEDEXPANSION
for/f"tokens=*"%%iin(list.txt)do(
set/aa+=1
if!
a!
LSS10(setb=00!
a!
)else(
if!
a!
LSS100(setb=0!
a!
)else(
setb=!
a!
))
rents001!
b!
.pdf"%%i".pdf
)
——我这个效率很高:
list.txt为列表的txt
@echooff&setlocalenabledelayedexpansion
for/f%%iin(a.txt)do(
set/anum+=1
set/an=!
num!
+1000
rents00!
n!
.pdf%%i.pdf
)
pause
——这个就快多了,但文件数不能大于9000!
三、广告策划家★【汉魅huntmine—校内校外学习资源高速下载】.chm如前,我有很多这样的文件,怎样可以把★【汉魅huntmine—校内校外学习资源高速下载】这个部分同时删除呢!
保存为BAT文件,双击执行“
@echooff&setlocalenabledelayedexpansion
set"str_del=★【汉魅huntmine—校内校外学习资源高速下载】"
for/f"delims="%%iin('dir/s/b')do(
set"foo=%%~nxi"
setfoo=!
foo:
%str_del%=!
ren"%%~i""!
foo!
"
)
exit
四、bat批量改名,原数字名每个加10!
我有一堆TXT文件,比如:
1.txt;5.txt;8.txt;13.txt;33.txt……我想让他们在原来的文件名基础上+10改成:
11.txt;15.txt;18.txt;23.txt;43.txt……求高手给个BAT命令...OTZ
1L的大哥..你给的BAT代码没起作用啊.
囧,好吧..是我没说清楚!
其实,是我有一堆不连续数字命名的txt文件,他们都在3000以上(比如3968.txt)我把1L大哥的代码里//set/atname=sname+10改成了//set/atname=sname-10可是运行结果除了把第一个文件改成了".txt"其他都没有反应,囧!
我在代码结尾加了pause看到一堆.."存在一个重命名文件,或是找不到文件"求解..
@echooff
setlocalenabledelayedexpansion
for/f"tokens=*delims="%%iin('dir/a-d/b*.txt')do(
setk=%%~ni
set/al=k+10
ren%%iaaa!
l!
.txt
)
for/f"tokens=*delims="%%min('dir/a-d/b*.txt')do(
setd=%%~nm
ren%%m!
d:
aaa=!
.txt
)
五、bat批量改名,我有一堆文件:
1
(1).txt;22(22).txt;333(333.txt。
我想把后面括号里面的祛除他们改成1.txt;22.txt;333.txt求高手帮忙,不好意思,我稍少打了半个括号竟然添加了你们这么多麻烦,是在不好意思!
将以下代码保存为批处理,然后放在你要重命名的文件所在有文件夹下双击就可以了。
@ECHOOFF
title"忆林子--批处理重命名
COLOR0a
rem用法:
将该批处理放在需要重命名的文件夹下,双击即可。
settmpFileList=tmpFileList.nsbb
rem初始化:
删除前一次的文件列表
rem注:
前一次操作未正常完了时
CALL:
delTmpFile
rem生成文件名列表
for/f"tokens=*"%%ain(
'dir"*(*"/a/b'
)do(
echo%%a>>"%tmpFileList%"
)
rem从文件列表中读取文件名,
rem并以"("作为分隔符,把文件名分为两部分。
rem例如:
文件名1
(1).txt将被分为"1"跟"1).txt"两部分
for/f"tokens=1,*delims=^("%%ain(
'more"%tmpFileList%"'
)do(
rem重命名
rem%%a:
分隔出来的文件名的"("前面的部分,例如:
1
rem%%b:
分隔出来的文件名的"("后面的部分,例如:
1).txt
rem%%~xb:
就是取得后面部分的"."之后的内容",例如:
.txt
rem因此以下的ren命令在真正执行的时候,将会是
remren"1
(1).txt""1.txt"
echo正在将"%%a(%%b"重命名为"%%a%%~xb"
ren"%%a(%%b""%%a%%~xb"
)
CLS
rem终了操作:
删除临时文件列表
CALL:
delTmpFile
echo====================================================
echo重命名操作完毕。
。
。
echo====================================================
set/pa=请按回车退出。
。
EXIT
:
delTmpFile
del"%tmpFileList%"/q1>nul2>nul
goto:
EOF
怎么没有反括号啊?
再多举几个例子,1、2与3、4不是同一规律。
55555(555.txt
666666(666.txt
一共有多少个文件,最后的那个名字是?
for/f"delims=(.tokens=1,*"%iin('dir/b*.txt')doren%i*.txt%i.txt
我也是现学现卖,我不明白的是tokens=1就行,而且tokens的数只要是1开头,后面随便是几都行如1*或1,2或1,345或1,*
同级目录:
@echooff
ren*(**().*&ren*(*).**().*
for/f"tokens=1-2delims=()"%%iin('dir/b*.txt')do(
ren"%%i()%%j""%%i%%j")
exit
@echooff
for/f"delims="%%ain('dir/b*.txt')do(
for/f"tokens=1delims=("%%Ain('dir/b%%a')do(
setnewname=%%A
>>NameBak.iniecho%%a%%A
ren"%%a""%%A.txt"
))
pause.
保存在同级目录下双击,有问题XXHI我。
六、批处理批量改名的几个问题
有一大批图片文件有JPG、GIF、BMP等,我想把它们以自然数改名并且加上前缀。
比如:
图片文件为qodf.jpg、iwqwlr.bmp、saljfowe.gif等,把它们改为:
美女图片0001.bmp、美女图片0002.gif、美女图片0003.jpg……
--------------------------------------
@echooff&setlocalenabledelayedexpansion
for/f"delims="%%iin('dir/s/b*jpg*.gif*bmp')do(
set/an+=1
setname=000!
n!
ren"%%~i""!
name:
~-3!
%%~xi"
)
exit
批处理作用是根据目录名改目录下面的文件名和扩展名例如:
d:
\abc\123.jpgd:
\abc\124.jpg自动改成如下d:
\abc\abc000.jpgd:
\abc\abc001.jpg........就是在文件名前自动添加当前目录名,并且后面跟随数字序列求批处理自动根据目录名改文件名的批处理100分寻找高手,好用另外加满分鼓励
@echooffsetlocalenabledelayedexpansionsetp=d:
\abcpushd%p%setn=for/f"tokens=*"%%jin('dir/b/a-d*.jpg')do(set/an+=1setfn=00!
n!
ren"%%j""%%i!
fn:
~,-3,3!
.jpg")
@echooff&SetLocalEnableDelayedExpansionFor/f"delims="%%iin('dir/s/b*.*')do(Setstr=%%~dpiSetstr=!
str:
\=!
For%%iin(!
str!
)doSetend=%%iSetn+=1If!
n!
lss10Setn=00!
n!
If!
n!
gtr9If!
n!
lss100Setn=0!
n!
Ren"%%~fi""!
end!
!
n!
%%~xi")pause
@echoofftitle修改文件名&color0a&setlocalenabledelayedexpansion:
:
获取目录名setpa=%cd%sets=for/l%%iin(1,1,100)do(setpa=!
pa:
*\=!
)echo.&echo获取的目录名为:
&echo[%pa%]:
:
修改文件名@rem记录文件数量,在重命名的时候要用seta=0for/f"delims="%%iin('dir/b*.html')do(@rem文件数量小于100,在变量a前面加多0if!
a!
LSS100(if!
a!
LSS10(sets=00)else(sets=0))elsesets=@rem重命名ren"%%i""%pa%!
s!
!
a!
.html"set/aa+=1)echo.&echo.&echo文件名修改完毕。
pause>nul写得有些粗糙。
敬请原谅。
哪位大侠有好的意见或建议请麻烦提出
七、我的批处理是这样的:
for/rE:
\图片\%%ain(*.jpg)doren%%a怎么写?
请问怎么把大量的图片依次改名为01.jpg02.jpg03.jpg.....
一楼说的那样改名右括号不是我的要求
@echooff&SetlocalEnableDelayedExpansion
setn=100
for/rE:
\图片\%%ain(*.jpg)do(
set/an+=1
ren"%%a"!
n:
~1!
%%~xa
)
——————————
我曾经也遇到过这种问题,不过我的要求比你的多,一般目录底下还存在子目录,而且命名文件的格式为子目录名-序号.jpg,当时我写了几种代码,现提供最精炼的代码如下:
@echooff&SetlocalEnableDelayedExpansion
for/r%%iin(.)do(
setn=1000
for/f"delims="%%ain('dir/b"%%i\*.jpg"')do(
set/an+=1
ren"%%i\%%a""%%~ni"-!
n:
~1!
%%~xa
)
)
八、用批处理命令批量改名可以吗?
如:
[jumpcn][D-GRAY-MAN][22][704x396].rmvb到
[jumpcn][D-GRAY-MAN][103][848x480].rmvb修成022.rmvb到103.rmvb
@echooff
for/f"delims="%%iin('dir/s/b*.rmvb')do(
for/f"tokens=3,5delims=[]"%%ain("%%~nxi")do(
set"num=00%%a"
call,setnum=%%num:
~-3%%
call,ren"%%i""%%num%%%%b"
)
)
exit
完全可以。
方案1;
可以用dos命令ren,比如这样;
1.在你的这些文件目录下,新建一个文本文件,然后把扩展名改为bat,这就是一个批处理命令的可执行的脚本了。
2.还是用记事本编辑这个脚本,使用ren命令,形如;rena.rmvbnewname.rmvb这就是把a文件名字改为newname。
然后就是重复写若干行这样的命令,每行处理一个文件。
最后就是保存脚本,关闭后,双击执行。
方案2;
下载批量改名小工具软件,你上网搜,很多,这些工具一般是先设置改名规则,然后执行实现的。
可以替换文字,在指定位置删除/插入若干文字,等等。
@echooff&setlocalenabledelayedexpansion
for/f"tokens=1-3*delims=[]"%%1in('dir/b*.rmvb')do(setwind=%%3&&setwind=00!
wind!
ren"[%%1][%%2][%%3][%%4"!
wind:
~-3!
.rmvb)
九、求文件中提取第一行做标题批量改名程序或批处理命令!
求可以提取txt文件中第一行内容作为本txt文件标题,并批量改名的程序或批处理命令。
如:
“001.txt”文件中的第一行是“XX知道”,要求把“001.txt”改名成“XX知道.txt”谢谢了。
孤星_-探花:
你的答案不错,简单快捷。
为什么有的还是提示说找不到文件呢?
@echooff
setlocalenabledelayedexpansion
for%%ain(*.txt)doset"txt=%%a"&call:
aa
pause
:
aa
for/f"usebackqdelims=*"%%bin("!
txt!
")do(
set"a=%%a"&set"b=%%b"
ren"!
a!
""!
b!
.txt"
goto:
eof
)
PS:
放在要处理的文件夹运行,如果也要处理子文件夹第一个for命令后面加上/r参数...~!
十、批量导出和更改文件名的几种方法:
方法一:
tree命令
命令提示符下:
(开始/运行/CMD)
tree (要获得文件名的文件夹的路径)/f >(存放的路径/filename)
例如:
要获得C盘下的所有文件的文件名,并将生成的文件保存到D盘,可使用如下命令
tree□C:
□/f >D:
/contents.txt “□”代表一个空格 小tip:
可以先在记事本中写好,将其粘贴(注意:
不能用Ctrl+V)到cmd.exe程序中。
例:
将下列复制到cmd.exe中即可
tree D:
/f>E:
/contents.xls
方法二:
dir命令
dir c:
\ >d:
\1.txt
将C盘根目录里的文件夹名和文件名都保存在D盘目录下的1.txt里,此文件可导入excel作进一步处理。
dir可加参数 /w 等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 批量 更名 改名 提取 文件 内容 批处理 多解十例