使用批处理文件重命名文件夹路径中的文件名

时间:2013-10-14 05:03:53

标签: windows batch-file

以下是bat文件:

@echo off
set "D=%date%"
echo "%D%"
ren "D:\empty\ EE_DG3-ERROR.txt" "D:\empty\ EE_DG3-ERROR_%D%.txt"
pause

我想将日期时间附加到文件名。

  

示例: D:\ empty \ EE_DG3-ERROR.txt到D:\ empty \   EE_DG3-ERROR_14oct2013.txt

你可以帮我提一下你的建议吗?

3 个答案:

答案 0 :(得分:3)

ren "D:\empty\EE_DG3-ERROR.txt" "EE_DG3-ERROR_%date:/=_%-%time::=_%.txt"

答案 1 :(得分:1)

已修改以提供月份名称

这不是您要求的格式:但此代码的前四行将为您提供XP Pro及更高版本中可靠的YY DD MM YYYY HH Min Sec变量。

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"


if "%mm%"=="01" set "mmm=Jan"
if "%mm%"=="02" set "mmm=Feb"
if "%mm%"=="03" set "mmm=Mar"
if "%mm%"=="04" set "mmm=Apr"
if "%mm%"=="05" set "mmm=May"
if "%mm%"=="06" set "mmm=Jun"
if "%mm%"=="07" set "mmm=Jul"
if "%mm%"=="08" set "mmm=Aug"
if "%mm%"=="09" set "mmm=Sep"
if "%mm%"=="10" set "mmm=Oct"
if "%mm%"=="11" set "mmm=Nov"
if "%mm%"=="12" set "mmm=Dec"

set "fullstamp=%DD%%mmm%%YYYY%"

for %%a in ("D:\empty\EE_DG3-ERROR.txt") do ren "%%~a" "%%~na_%fullstamp%%%~xa"
for %%a in ("D:\empty\plot.log")         do ren "%%~a" "%%~na_%fullstamp%%%~xa"

答案 2 :(得分:0)

试试这个,

set dirpath=D:\empty\
ren "%dirpath%EE_DG3-ERROR.txt" EE_DG3-ERROR_14102013.txt