bat脚本批量给文件名中间增加下划线?

作者&投稿:康哲 (若有异议请与网页底部的电邮联系)
求个批处理命令,要求:将多个文件夹内的文件名下划线前的数字,按当前顺序修改为001,002,003~

@echo off
for /f "tokens=1,2,3 delims=_." %%i in ('dir /a-d/b') do (
if not "%%k"=="" (
if exist "%%i.%%k" call :gm "%%i_%%j.%%k" "%%i.%%k"
if exist "%%i_%%j.%%k" ren "%%i_%%j.%%k" "%%i.%%k"
))
echo 更名完成!&pause>nul &exit
:gm
set n=0
:lp
set/a n+=1
if exist "%~n2(%n%)%~x2" goto lp
ren "%~1" "%~n2(%n%)%~x2"
goto :eof
System.out.println("Perimeter:"+perim);

@echo off&setlocal enabledelayedexpansionfor /f "tokens=*" %%i in ('dir /a-d/b/s *.*^|findstr /r /i ".doc$ .docx$"') do (set i=%%~niecho !i:~0,8!|findstr /r "[2][0][0-1][0-9][0-1][0-9][0-3][0-9]"&&if "!i:~8,1!"==" " (ren "%%i" "!i:~0,8!_!i:~9!%%~xi"&ren "%%~dpi!i:~0,8!.mp3" "!i:~0,8!_!i:~9!.mp3") else (ren "%%i" "!i:~0,8!_!i:~8!%%~xi"&ren "%%~dpi!i:~0,8!.mp3" "!i:~0,8!_!i:~8!.mp3"))pause这是你问题描述中的第一种,数字(日期)在文件名最前面,mp3命名规则为纯数字(日期).mp3.
问题补充:第二种描述比较模糊.例如mp3文件名是否为固定名+数字(日期),而且文件中的数字相对于docx文件的数字少了前两位.这些都会影响最终命名.所以如果你要解决此问题,请详细描述各种命名方式.
@echo off&setlocal enabledelayedexpansionset fn=sa_d_podcast_for /f "tokens=*" %%i in ('dir /a-d/b/s *.*^|findstr /r /i ".doc$ .docx$"') do (set i=%%~niif not "!i:~8,1!"=="_" (echo !i:~0,8!|findstr /r "[2][0][0-1][0-9][0-1][0-9][0-3][0-9]"&&if "!i:~8,1!"==" " ( ren "%%i" "!i:~0,8!_!i:~9!%%~xi"& ren "%%~dpi!i:~0,8!.mp3" "!i:~0,8!_!i:~9!.mp3") else ( ren "%%i" "!i:~0,8!_!i:~8!%%~xi"& ren "%%~dpi!i:~0,8!.mp3" "!i:~0,8!_!i:~8!.mp3")echo !i:~-8!|findstr /r "[2][0][0-1][0-9][0-1][0-9][0-3][0-9]"&&if "!i:~-9,1!"==" " ( ren "%%i" "!i:~-8!_!i:~0,-9!%%~xi"& ren "%fn%!i:~-6!.mp3" "!i:~-8!_!i:~0,-9!.mp3") else ( ren "%%i" "!i:~-8!_!i:~0,-8!%%~xi"& ren "%fn%!i:~-6!.mp3" "!i:~-8!_!i:~0,-8!.mp3")))pause以上能处理问题描述中的doc文件的两种命名方式,运行时排除已经重命名过的文件,不会出现重复命名的问题.

不清楚你的实际文件/情况,仅以问题中的样例/说明为据
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
/*&cls
@echo off
rem 在文件名称中的中文汉字与数字之间插入下划线(指定字符)
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
dir /a-d/b|cscript -nologo -e:jscript "%~f0"
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
var fso=new ActiveXObject('Scripting.FileSystemObject');
while(!WSH.StdIn.AtEndOfStream){
var line=WSH.StdIn.ReadLine();
var file=fso.GetFile(line);
var oldname=file.Name;
var newname=oldname.replace(/([\u4e00-\u9fa5])(?=\d)/,'$1_');
if(newname != oldname){
WSH.echo(line+' --> '+newname);
}
}


如何编辑一个bat批处理脚本,批量删除多余的文件文件名
可以。ren 文件名1.文件名2.ren 文件名1.扩展名1 文件名2.扩展名2 ren a*.b*.把命令用记事本等文本编辑工具编辑到 文件名.bat 中就可以了 那用dos够呛。acdsee图片处理工具里面的文件名批量处理工具可以满足你的要求。

如何弄一个bat文件去依次批量的执行其他文件夹下的bat文件
echo off & title 批量执行BAT脚本 By 依梦琴瑶 for \/f "delims=" %%a in ('dir \/a-d\/s\/b *.bat') do (if not "%%~0"=="%%~a" (pushd "%%~dpa"start "" \/wait "%%~nxa"popd ))pause

用Bat批量文件夹改名-删除指定字符串后3位字符串(而不是后面所有的字符...
用bat批量导出文件夹名称(百度找到方法非常简单),复制粘贴到EXCEL A列,在B1输入=REPLACE(A1,FIND("#",A1)+1,3,"") 下拉 ,即可得到新的文件名,在用表格组合得到:REN "原始标题" "新标题" 到C1列,下拉,然后复制粘贴到TXT 改后缀为.bat , 放入要修改的项目同一文件夹,点击运行即可!

如何利用BAT脚本,实现将一个文件夹下面的多个文件夹以及文件夹下的内容...
BAT脚本如下:xcopy c:\\data\\data1 d:\\data\\ \/e xcopy c:\\data\\data2 d:\\data\\ \/e 用XCOPY 复制目录树,\/e 参数是包括空目录。但如果目标路径存在,则不能复制。

求bat 批量复制文件的代码
Autoit 自动化脚本很容易实现,src = "d:\\"copyto = "E:\\abc"type = ".dll"time1 = 2008 time2 = 2011 logfile = $copyto & "\\" & "logo" & @YEAR & "-" & @MON & "-" & @MDAY & ".txt"s = search($src)arr_file = StringSplit($s, "|")buf = @CRLF & @...

用BAT做一个批量修改文件名的脚本
可以。ren 文件名1.* 文件名2.ren 文件名1.扩展名1 文件名2.扩展名2 ren a*.* b*.把命令用记事本等文本编辑工具编辑到 文件名.bat 中就可以了 那用dos够呛。acdsee图片处理工具里面的文件名批量处理工具可以满足你的要求。

bat 批量修改多文件夹下的图片名字
echo off & title 批量给文件夹内的图片排序 By 依梦琴瑶 cd \/d "%~dp0"setlocal enabledelayedexpansion for \/d %%a in (*) do (pushd "%%~a"set N=1000 for \/f "delims=" %%i in ('dir \/a-d\/b *.jpg') do (set \/a N+=1 ren "%%~si" "!N:~1!%%~xi"...

怎么用bat脚本写个批量修改图片名称?
不清楚你的实际文件\/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行 echo off rem 将当前目录里的图片文件以递增的数字序号重名 mode con lines=3000 set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4 title ...

bat批量处理 把当前目录下所有TXT文件内容 )改成))?
以下代码复制到记事本,另存为VBS脚本,放在你要执行的文件夹里面。设置如下,注意红色部分。Set WshShell = CreateObject("Wscript.Shell")WshShell.Run "cmd \/c dir \/s \/b *.txt > Temp.txt",vbHide Wscript.Sleep 1000 sFile = "Temp.txt"Set objFSO = CreateObject("Scripting.FileSystemObject"...

bat批处理或者其他简易脚本,文件剪切并实现分配?
echo off & title 循环分配文件到指定盘 By 依梦琴瑶cd \/d "%~dp0" & mode 75,4 & color 0aset "Another=":Loopset "Non_Null="for \/f "delims=" %%a in ('dir \/a-d\/b "D:\\*"') do ( if not defined Another ( echo 文件 "%%~a" 被分配到 E 盘。 set "Ano...

曲麻莱县13934167249: .bat批处理,把文件名中含有叹号!的,前面加下划线 - 应该怎么写? -
点马利力: ren *!*.* *_!*.*或者你知道感叹号前有几个字母,后面有几个字母,使用通配符,比如前面有1个,后面有2个:ren ?!??.* ?_!??.*

曲麻莱县13934167249: 求bat批处理,文件夹名前加序号 -
点马利力: 使此批处理与要加序号的文件夹在同一文件夹中,然后运行.有问题可Hi @setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION @echo off set nn=1 for /d %%I in (%~dp0*) do ( set digi=000!nn! set digi=!digi:~-4! ren "%%I" "HD!digi!%%~nxI" set /a nn=!nn!+1)

曲麻莱县13934167249: 批处理 文件名前添加序号及下划线 -
点马利力: @echo off setlocal enabledelayedexpansion set num=0 for %%a in (*.txt) do ( echo.%%a set /a num+=1 ren "%%a" "!num!_%%a") pause 顺序添加序号及下划线,例如我当前目录下有3个TXT文档.运行后就会命名为:1_ss.txt2_dd.txt3_dd.txt 我是用TXT文件做测试的,你可以修改成自己想要的后缀名,如果达不到要求请追问.

曲麻莱县13934167249: 用BAT做一个批量修改文件名的脚本 -
点马利力: 可以.ren 文件名1.* 文件名2.* ren 文件名1.扩展名1 文件名2.扩展名2 ren a*.* b*.*把命令用记事本等文本编辑工具编辑到 文件名.bat 中就可以了那用dos够呛.acdsee图片处理工具里面的文件名批量处理工具可以满足你的要求.

曲麻莱县13934167249: 如何批量修改文件名,单纯的汉字+数字中间添加下划线 -
点马利力: 软件当然有呀,好几款呢. 比如百宝箱V10.0. 使用正则表达式来更名即可,如下图所示: 选择它的拓展界面的样式正则更名功能卡,勾选正则更名,在查找中输入:(.+?)(\d+),在替换为中输入:$1_$2,单击预览,看看效果就知道了,最后单击批处理.

曲麻莱县13934167249: 如何用bat批量给文件增加一行标题 -
点马利力: @echo off & title 批量给文本加入一行内容 By 依梦琴瑶::设置要加入的行内容 set Str=我是行内容::设置要处理的文件类型 set Ext=*.txt for %%a in (%Ext%) do ( (echo %Str% type "%%~a")>tmp_file move /y tmp_file "%%~a" >nul) pause

曲麻莱县13934167249: 如何简单写脚本让文件批量命名? -
点马利力: 进行重命名之前我们可以先给这些文件重新排序一下,个人建议按照修改时间从旧到新来排列,这样今后新保存的图片也方便按顺序命名.在文件夹空白处右键,依次选择“排序方式--修改时间”,然后再选择“递增”顺序. 接着按Ctrl + A选...

曲麻莱县13934167249: bat批处理如何批量重命名,急! -
点马利力: @echo off color 0e & MODE con: COLS=79 LINES=25 & title 批量重命名文件(by 风镟碧浪) cls&setlocal EnableDelayedExpansion echo.&echo.&echo.&echo.&echo. echo 说明: echo.&echo 使用本bat文件可批量重命名本文件所在文件夹下的...

曲麻莱县13934167249: 如何用bat脚本改文件名字 1 - 2.txt这种样子 改成ABC1 - EF2.txt 这种格式 批量修改的 ! 请给一段代码 -
点马利力: @echo off for /f "tokens=1* delims=-" %%a in ('dir /a-d /b *.txt') do ( ren "%%a-%%b" "ABC%%a-EF%%b" )批量修改当前文件夹下1-2.txt这种形式的txt文件名

曲麻莱县13934167249: TXT文本批量把文件名添加到文本内容的第一行,批处理语句怎么写? -
点马利力: 要说清楚些,想将名字加到第一行什么位置.下面代码是将名字做为第一行,原内容依次往后移一行.测试前备份源文件1 2 3 4 5 6 7 8 9@echooff set"ScDir=D:\temp" cd/d"%ScDir%" for/f"delims="%%a in('dir /a-d /s /b *.txt') do(echo%%~na>>"%%a.log"type"%%a">>"%%a.log"move /y"%%a.log""%%a" )>nul pause

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网