联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
color a&title 文件名删截 setlocal enabledelayedexpansion set /p a=请输入你想要留的位数段(如:2-5表示文件名的第二至第五个字符): for /f "tokens=1,2 delims=-" %%a in ("%a%") do set /a a=%%a-1&set /a b=%%b-%%a+1 set /p c=请输入你想要修改文件的类型(如.jpg): echo 当文件夹中已存在一个同名文件,提供的解决方案如下: echo 在同名文件后加上数字后缀,这些同名文件会以filename1%c%,filename2%c%…………的方式被命令 cd aaa for %%a in (*%c%) do if not "%%a"=="文件名删截.bat" (set d=%%~na if not exist "じ!d:~%a%,%b%!%c%" (ren "%%a" "じ!d:~%a%,%b%!%c%") else (set /a e=0&call :dellsamename) ) ren "じ*.*" "*.*" :dellsamename set /a e+=1 if not exist "じ!d:~%a%,%b%!%e%%c%" (ren "じ!d:~%a%,%b%!%c%" "じ!d:~%a%,%b%!%e%%c%"&goto :eof) else goto :dellsamename
@echo off&setlocal enabledelayedexpansion&color a&title 文件名删截 set/p a=位数段:如2-5&set/p c=文件类型:如.jpg for /f "tokens=1* delims=-" %%a in ("%a%") do set/a a=%%a-1,b=%%b-a for %%a in (*%c%) do if /i not "%%a"=="%~nx0" call :d "%%a" exit :d set "d=%%~n1"&set e= :n if exist "!d:%a%,%b%!%e%%c%" (set/a e+=1&goto :n) else ren %1 "!d:%a%,%b%!%e%%c%"