admin 管理员组

文章数量: 887018


2024年2月21日发(作者:史上最实用的app应用程序2)

提取文件首行为文件名

更名-改名

批处理多解十例

一、如何将名称为;图片用批命令改为,;也就是去掉“-”及“-”以前的字符!

二、根据条件文件批量改名:一个文件夹内有数个文件,文件名为

- 递增有一个文本文件,里面有相对应的名称,第一行为第一个文件的汉字名。如:“世界科技全景百卷书(1)原始科技;世界科技全景百卷书(2)数学与物理的发端;世界科技全景百卷书(3)近代科技…………”现在想根据那个文本文件,把文件名改为 对应的汉字名加文件扩展名。如:第一个文件 改为 世界科技全景百卷书(1)原始科技.pdf……

三、广告策划家★【汉魅huntmine—校内校外学习资源高速下载】.chm如前,我有很多这样的文件,怎样可以把 ★【汉魅huntmine—校内校外学习资源高速下载】 这个部分同时删除呢!

四、bat批量改名,原数字名每个加10!我有一堆TXT文件,比如:;;;;……我想让他们在原来的文件名基础上+10改成:;;;;……求高手给个BAT命令...OTZ!1L的大哥..你给的BAT代码没起作用啊.囧,好吧.. 是我没说清楚!其实,是我有一堆不连续数字命名的txt文件,他们都在3000以上(比如) 我把1L大哥的代码里// set /a tname=sname+10 改成了// set /a

tname=sname-10可是运行结果除了把第一个文件改成了".txt"其他都没有反应,囧!我在代码结尾加了pause 看到一堆.."存在一个重命名文件,或是找不到文件"求解..

五、bat批量改名,我有一堆文件:1(1).txt;22(22).txt;333(。我想把后面括号里面的去除他们改成;;求高手帮忙,不好意思,我稍少打了半个括号竟然添加了你们这么多麻烦,是在不好意思!

六、批处理批量改名的几个问题,有一大批图片文件有JPG、GIF、BMP等,我想把它们以自然数改名并且加上前缀。比如:图片文件为、、等,把它们改为:美女图片、美女图片、美女图片……

七、我的批处理是这样的,for /r E:图片 %%a in (*.jpg) do ren %%a怎么写?请问怎么把大量的图片依次改名为 .....

八、用批处理命令批量改名可以吗?如:[jumpcn][D-GRAY-MAN][22][704x396].rmvb到

[jumpcn][D-GRAY-MAN][103][848x480].rmvb修成到!

九、求文件中提取第一行做标题批量改名程序或批处理命令!求可以提取txt文件中第一行内容作为本txt文件标题,并批量改名的程序或批处理命令。如:“”文件中的第一行是“百度知道”,要求把“”改名成“百度知道.txt”。

十、批量导出和更改文件名的几种方法

一、如何将名称为;图片用批命令改为,;也就是去掉“-”及“-”以前的字符:

@echo off

setlocal enabledelayedexpansion

for /f "delims=" %%a in ('dir /s /b /a-d *.jpg') do (

set "xz=%%~nxa"

set xz=!xz:*-=!

ren %%~sa "!xz!"

)

pause

——在JPG所在文件夹运行

@echo off

title BAT-GO百度知道团队asdfwxyz

for /f "tokens=1,2 delims=-" %%1 in ('dir /b *.jpg') do ren %%1-%%2 %%2

exit

______________________________________________________________________

@echo off

title BAT-GO百度知道团队asdfwxyz

setlocal enabledelayedexpansion

for %%1 in (*-*.jpg) do (

set a=%%1

set a=!a:~4,20!

ren %%1 !a!

)

exit

______________________________________________________________________

——能用的方法不少,自己选一个比较合适你的吧。

二、根据条件文件批量改名:

一个文件夹内有数个文件,文件名为 - 递增有一个文本文件,里面有相对应的名称,第一行为第一个文件的汉字名。如:

“世界科技全景百卷书(1)原始科技

世界科技全景百卷书(2)数学与物理的发端

世界科技全景百卷书(3)近代科技

…………”

现在想根据那个文本文件,把文件名改为 对应的汉字名加文件扩展名。如:

第一个文件 改为 世界科技全景百卷书(1)原始科技.pdf

@echo off

setlocal ENABLEDELAYEDEXPANSION

for /f "tokens=*" %%i in () do (

set/a a+=1

if !a! LSS 10 (set b=00!a!) else (

if !a! LSS 100 (set b=0!a!) else (

set b=!a!))

ren ts001!b!.pdf "%%i".pdf

)

——我这个效率很高: 为列表的txt

@echo off&setlocal enabledelayedexpansion

for /f %%i in () do (

set /a num+=1

set /a n=!num!+1000

ren ts00!n!.pdf %%

)

pause

——这个就快多了,但文件数不能大于9000!

三、广告策划家★【汉魅huntmine—校内校外学习资源高速下载】.chm如前,我有很多这样的文件,怎样可以把 ★【汉魅huntmine—校内校外学习资源高速下载】 这个部分同时删除呢!

保存为BAT文件,双击执行“

@echo off & setlocal enabledelayedexpansion

set "str_del=★【汉魅huntmine—校内校外学习资源高速下载】"

for /f "delims=" %%i in ('dir /s/b') do (

set "foo=%%~nxi"

set foo=!foo:%str_del%=!

ren "%%~i" "!foo!"

)

exit

四、bat批量改名,原数字名每个加10!我有一堆TXT文件,比如:;;;;……我想让他们在原来的文件名基础上+10改成:;;;;……求高手给个BAT命令...OTZ

1L的大哥..你给的BAT代码没起作用啊.

囧,好吧.. 是我没说清楚!其实,是我有一堆不连续数字命名的txt文件,他们都在3000以上(比如) 我把1L大哥的代码里// set /a tname=sname+10 改成了// set /a

tname=sname-10可是运行结果除了把第一个文件改成了".txt"其他都没有反应,囧!我在代码结尾加了pause 看到一堆.."存在一个重命名文件,或是找不到文件"求解..

@echo off

setlocal enabledelayedexpansion

for /f "tokens=* delims=" %%i in ('dir /a-d /b *.txt') do (

set k=%%~ni

set /a l=k+10

ren %%i aaa!l!.txt

)

for /f "tokens=* delims=" %%m in ('dir /a-d /b *.txt') do (

set d=%%~nm

ren %%m !d:aaa=!.txt

)

五、bat批量改名,我有一堆文件:1(1).txt;22(22).txt;333(。我想把后面括号里面的祛除他们改成;;求高手帮忙,不好意思,我稍少打了半个括号竟然添加了你们这么多麻烦,是在不好意思!

将以下代码保存为批处理,然后放在你要重命名的文件所在有文件夹下双击就可以了。

@ECHO OFF

title "忆林子--批处理重命名 /忆林子"

COLOR 0a

rem 用法:将该批处理放在需要重命名的文件夹下,双击即可。

set tmpFileList=

rem 初始化:删除前一次的文件列表

rem 注:前一次操作未正常完了时

CALL :delTmpFile

rem 生成文件名列表

for /f "tokens=*" %%a in (

'dir "*(*" /a /b'

) do (

echo %%a>>"%tmpFileList%"

)

rem 从文件列表中读取文件名,

rem 并以"("作为分隔符,把文件名分为两部分。

rem 例如:文件名 1(1).txt将被分为 "1" 跟 "1).txt" 两部分

for /f "tokens=1,* delims=^(" %%a in (

'more "%tmpFileList%"'

) do (

rem 重命名

rem %%a:分隔出来的文件名的"("前面的部分,例如:1

rem %%b:分隔出来的文件名的"("后面的部分,例如:1).txt

rem %%~xb:就是取得后面部分的"."之后的内容",例如:.txt

rem 因此以下的ren命令在真正执行的时候,将会是

rem ren "1(1).txt" ""

echo 正在将 "%%a(%%b" 重命名为 "%%a%%~xb"

ren "%%a(%%b" "%%a%%~xb"

)

CLS

rem 终了操作:删除临时文件列表

CALL :delTmpFile

echo ====================================================

echo 重命名操作完毕。。。

echo ====================================================

set /p a=请按回车退出。。

EXIT

:delTmpFile

del "%tmpFileList%" /q 1>nul 2>nul

goto :EOF

怎么没有反括号啊?再多举几个例子,1、2与3、4不是同一规律。

55555(

666666(

一共有多少个文件,最后的那个名字是?

for /f "delims=(. tokens=1,*" %i in ('dir /b *.txt') do ren %i*.txt %

我也是现学现卖,我不明白的是tokens=1就行,而且tokens的数只要是1开头,后面随便是几都行 如1*或1,2或1,345或1,*

同级目录:

@echo off

ren *(* *().* & ren *(*).* *().*

for /f "tokens=1-2 delims=()" %%i in ('dir /b *.txt') do (

ren "%%i()%%j" "%%i%%j")

exit

@echo off

for /f "delims=" %%a in ('dir/b *.txt') do (

for /f "tokens=1 delims=(" %%A in ('dir/b %%a') do (

set newname=%%A

>> echo %%a %%A

ren "%%a" "%%"

))

pause.

保存在同级目录下双击,有问题百度HI我。

六、批处理批量改名的几个问题

有一大批图片文件有JPG、GIF、BMP等,我想把它们以自然数改名并且加上前缀。比如:图片文件为、、等,把它们改为:美女图片、美女图片、美女图片……

--------------------------------------

@echo off&setlocal enabledelayedexpansion

for /f "delims=" %%i in ('dir /s/b *jpg *.gif *bmp') do (

set /a n+=1

set name=000!n!

ren "%%~i" "!name:~-3!%%~xi"

)

exit

批处理作用是根据目录名改目录下面的文件名和扩展名例如:d::自动改成如下d::........就是在文件名前自动添加当前目录名,并且后面跟随数字序列求批处理自动根据目录名改文件名的批处理100分寻找高手,好用另外加满分鼓励

@echo offsetlocal enabledelayedexpansionset p=d:abcpushd %p%set n=for /f "tokens=*" %%j in

('dir/b/a-d *.jpg') do (set /a n+=1set fn=00!n!ren "%%j" "%%i!fn:~,-3,3!.jpg")

@echo off&SetLocal EnableDelayedExpansionFor /f "delims=" %%i in ('dir /s /b *.*') do ( Set

str=%%~dpi Set str=!str:= ! For %%i in (!str!) do Set end=%%i Set n+=1 If !n! lss 10

Set n=00!n! If !n! gtr 9 If !n! lss 100 Set n=0!n! Ren "%%~fi" "!end!!n!%%~xi" )pause

@echo offtitle 修改文件名&color 0a&setlocal enabledelayedexpansion::获取目录名set

pa=%cd%set s=for /l %%i in (1,1,100) do ( set pa=!pa:*=!)echo.&echo 获取的目录名为:&echo [%pa%]::修改文件名@rem 记录文件数量,在重命名的时候要用set a=0 for /f

"delims=" %%i in ('dir /b *.html') do ( @rem 文件数量小于100,在变量a前面加多0 if !a!

LSS 100 ( if !a! LSS 10 (set s=00)else (set s=0) )else set s= @rem 重命名 ren "%%i"

"%pa%!s!!a!.html" set /a a+=1)echo.&echo.&echo 文件名修改完毕。pause>nul写得有些粗糙。敬请原谅。哪位大侠有好的意见或建议请麻烦提出

七、我的批处理是这样的:

for /r E:图片 %%a in (*.jpg) do ren %%a怎么写?

请问怎么把大量的图片依次改名为 .....

一楼说的那样改名右括号 不是我的要求

@echo off&Setlocal EnableDelayedExpansion

set n=100

for /r E:图片 %%a in (*.jpg) do (

set /a n+=1

ren "%%a" !n:~1!%%~xa

)

——————————

我曾经也遇到过这种问题,不过我的要求比你的多,一般目录底下还存在子目录,而且命名文件的格式为 子目录名-序号.jpg ,当时我写了几种代码,现提供最精炼的代码如下:

@echo off&Setlocal EnableDelayedExpansion

for /r %%i in (.) do (

set n=1000

for /f "delims=" %%a in (' dir /b "%%i*.jpg"') do (

set /a n+=1

ren "%%i%%a" "%%~ni"-!n:~1!%%~xa

)

)

八、用批处理命令批量改名可以吗?

如:[jumpcn][D-GRAY-MAN][22][704x396].rmvb到

[jumpcn][D-GRAY-MAN][103][848x480].rmvb修成到

@echo off

for /f "delims=" %%i in ('dir /s/b *.rmvb') do (

for /f "tokens=3,5 delims=[]" %%a in ("%%~nxi") do (

set "num=00%%a"

call,set num=%%num:~-3%%

call,ren "%%i" "%%num%%%%b"

)

)

exit

完全可以。

方案1;

可以用dos命令ren,比如这样;

1.在你的这些文件目录下,新建一个文本文件,然后把扩展名改为bat,这就是一个批处理命令的可执行的脚本了。

2.还是用记事本编辑这个脚本,使用ren命令,形如; ren 这就是把a文件名字改为newname。

然后就是重复写若干行这样的命令,每行处理一个文件。

最后就是保存脚本,关闭后,双击执行。

方案2;

下载批量改名小工具软件,你上网搜,很多,这些工具一般是先设置改名规则,然后执行实现的。可以替换文字,在指定位置删除/插入若干文字,等等。

@echo off& setlocal enabledelayedexpansion

for /f "tokens=1-3* delims=[]" %%1 in ('dir /b *.rmvb')do (set wind=%%3&& set wind=00!wind!

ren "[%%1][%%2][%%3][%%4" !wind:~-3!.rmvb)

九、求文件中提取第一行做标题批量改名程序或批处理命令!求可以提取txt文件中第一行内容作为本txt文件标题,并批量改名的程序或批处理命令。

如:“”文件中的第一行是“百度知道”,要求把“”改名成“百度知道.txt”谢谢了。

孤星_ - 探花 :你的答案不错,简单快捷。为什么有的还是提示说找不到文件呢?

@echo off

setlocal enabledelayedexpansion

for %%a in (*.txt) do set "txt=%%a" & call :aa

pause

:aa

for /f "usebackq delims=*" %%b in ("!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:/ “□”代表一个空格 小tip:

可以先在记事本中写好,将其粘贴(注意:不能用Ctrl+V)到程序中。 例:将下列复制到中即可

tree D: /f>E:/

方法二:dir命令

dir c: >d:

将C盘根目录里的文件夹名和文件名都保存在D盘目录下的里,此文件可导入excel作进一步处理。dir可加参数 /w 等。


本文标签: 文件 文件名 改名 批处理 批量