查资料的时候发现,windows自带的帮助是追好用的。
程序代码如下:
@echo off
&
setlocal EnableDelayedExpansion
@REM *********************************************************************************
@REM **** 以下代码可以将与本程序在同一个目录下的.txt文件从命名 ****
@REM **** 原有的文件的名字长度要求是13(包括.txt),新文件名是将原文件的前三位去掉 ****
@REM **** 例:原文件名是000000100.txt,重命名后000100.txt ****
@REM *********************************************************************************
@REM 取出.txt文件列表放到临时文件里
dir / B ^| find " *txt " > 1 .temp
set oraF =
set newF =
set sta =
echo ======================================================================
echo Ora File ^| New File ^| Status
echo ======================================================================
@REM 循环取临时文件中的数据
for / f " eol=# tokens=1,2* delims=\n " %% i in ( 1 .temp) do (
set oraF =%% i
@REM 截取旧的文件名,获得新的文件名
set newF =! oraF: ~ 3 , 10 !
@REM 新旧文件的存在判断
if exist ! oraF ! ( if not exist ! newF ! ( set sta = OK) else ( set sta = New file is exist ! )
) else ( set sta = Ora file is not exist ! )
if ! sta !== OK (
@REM 用ren命令重命名,如果出错将错误信息 ? 出到2.temp文件中
ren ! oraF ! ! newF ! > 2 .temp
if not exist ! oraF ! ( if exist ! newF ! ( set sta = sucess ) else ( set sta = Error) )
else ( set sta = Error )
)
echo ! oraF ! ^| ! newF ! ^| ! sta !
@REM 如果出错将错误信息输出到控制台中
if exist 2 .temp (
type 2 .temp
del 2 .temp
)
echo ----------------------------------------------------------------------
)
del 1 .temp
@REM *********************************************************************************
@REM **** 以下代码可以将与本程序在同一个目录下的.txt文件从命名 ****
@REM **** 原有的文件的名字长度要求是13(包括.txt),新文件名是将原文件的前三位去掉 ****
@REM **** 例:原文件名是000000100.txt,重命名后000100.txt ****
@REM *********************************************************************************
@REM 取出.txt文件列表放到临时文件里
dir / B ^| find " *txt " > 1 .temp
set oraF =
set newF =
set sta =
echo ======================================================================
echo Ora File ^| New File ^| Status
echo ======================================================================
@REM 循环取临时文件中的数据
for / f " eol=# tokens=1,2* delims=\n " %% i in ( 1 .temp) do (
set oraF =%% i
@REM 截取旧的文件名,获得新的文件名
set newF =! oraF: ~ 3 , 10 !
@REM 新旧文件的存在判断
if exist ! oraF ! ( if not exist ! newF ! ( set sta = OK) else ( set sta = New file is exist ! )
) else ( set sta = Ora file is not exist ! )
if ! sta !== OK (
@REM 用ren命令重命名,如果出错将错误信息 ? 出到2.temp文件中
ren ! oraF ! ! newF ! > 2 .temp
if not exist ! oraF ! ( if exist ! newF ! ( set sta = sucess ) else ( set sta = Error) )
else ( set sta = Error )
)
echo ! oraF ! ^| ! newF ! ^| ! sta !
@REM 如果出错将错误信息输出到控制台中
if exist 2 .temp (
type 2 .temp
del 2 .temp
)
echo ----------------------------------------------------------------------
)
del 1 .temp