2013-10-02 2 views
1

Я хотел бы переименовать файлы в соответствии с датой, используя командный файл. Теперь моя задача состоит в том, что если имя файла существует, оно должно добавить (1) .. (2) .. (3) в каждый файл в конце.Переименование файлов с использованием командного файла

ren c:\LogFiles\*.log BackupLog-%date:~-4,4%%date:~-7,2%%date:~-10,2%.log 

Я также хотел бы знать, если его можно

  • Переименовать файлы в соответствии с предыдущей датой, т.е. -1 текущей даты (если я выполнить пакетный файл сегодня переименовывает в за вчерашний день.
  • Переименование файлов в соответствии с датой создания.

В случае его не представляется возможным с командным файлом, пожалуйста, помочь с силовой оболочкой

ответ

1

попробовать это для дописывания вопрос:

@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 

Если у вас есть вопросы, пожалуйста, сделать new questions.

+0

Спасибо, мужчины попробуют это – user2839151

Смежные вопросы