我想使用批处理文件按日期重命名文件。现在我的挑战是,如果文件名存在,它应该在每个文件的末尾附加一个 (1).. (2).. (3)。
ren c:\LogFiles\*.log BackupLog-%date:~-4,4%%date:~-7,2%%date:~-10,2%.log
我也想知道是否可以
- 根据前一个日期重命名文件,即当前日期的-1(如果我今天执行批处理文件,它将根据昨天的日期重命名。
- 根据创建日期重命名文件。
如果批处理文件无法使用,请协助使用电源外壳
我想使用批处理文件按日期重命名文件。现在我的挑战是,如果文件名存在,它应该在每个文件的末尾附加一个 (1).. (2).. (3)。
ren c:\LogFiles\*.log BackupLog-%date:~-4,4%%date:~-7,2%%date:~-10,2%.log
我也想知道是否可以
如果批处理文件无法使用,请协助使用电源外壳
试试这个作为你的附加问题:
@echo off &setlocal
set "logpath=c:\LogFiles"
for /f "delims=" %%a in ('dir /b /a-d /od "%logpath%\*.log"') do call:doit "%logpath%\%%~a"
goto:eof
:doit
setlocal
set "npre=BackupLog-%date:~-4,4%%date:~-7,2%%date:~-10,2%"
:loop
if defined fcnt (set "nname=%npre% (%fcnt%)%~x1") else set "nname=%npre%%~x1"
set /a cnt+=1
set "fcnt=00%cnt%"
set "fcnt=%fcnt:~-3%"
if exist "%logpath%\%nname%" goto:loop
echo ren "%~1" "%nname%"
ren "%~1" "%nname%"
endlocal
exit /b
如果您有更多问题,请提出新问题。