
CODE: [Copy to clipboard]这个就可以用了,但是还有点小问题没搞定呢echo ----------------------------执行信息----------------------------
For %%a in (*.pdf) do call :name "%%a"
echo ----------------------------------------------------------------
echo 执行完毕,按任意键退出
pause >nul
exit
:name
set name="%~n1"
set name=%name:~-5%
if %name:~0,1%==0 set /a name=1%name%-10000
rename %1 %name%.pdf
echo %~n1.pdf 改名为 %name%.pdf
goto :eof
| Quote: | |
|
附件 1:新建 BMP 图像.JPG (2006-4-12 12:45, 64.98 K, 下载附件所需积分 1 点 ,下载次数: 9)
![]()
CODE: [Copy to clipboard][ Last edited by kcdsw on 2006-4-14 at 20:57 ]@echo off
echo ----------------------------执行信息----------------------------
for /f "delims=" %%a in ('dir /b *.pdf') do call :name "%%a"
echo ----------------------------------------------------------------
echo 执行完毕,按任意键退出
pause >nul
exit
:name
set name=%~1
::以下两句删除下划线之前的字符
set name=%name:*_p=%
set name=%name:*_p=%
::以下循环可以删除前导字母和零
:loop
set m=%name:~0,1%
if "%m%" LEQ "9" (
if "%m%" GTR "0" (
rename %1 "%name%" 2>nul &&echo %1更名为"%name%" ||echo 无法重名文件%1,存在同名文件%name%或者文件已打开
goto :EOF
)
)
set name=%name:~1%
goto loop
goto :EOF
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) | Powered by Discuz! 2.5 |