|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как сравнить "дата+время" двух файлов? |
|
|
CMD/BAT - [решено] Как сравнить "дата+время" двух файлов?
|
Новый участник Сообщения: 14 |
Профиль | Отправить PM | Цитировать Необходимо в батнике сравнить "дату+время" изменения файлов так, чтобы, если у первого окажется меньше, то заменить (скопировать с заменой) 2-м файлом. Имена у файлов одинаковые естественно. Подскажите, пожалуйста.
|
|
Отправлено: 17:15, 11-12-2010 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:00, 12-12-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Всё так просто! И чего сам не догадался? Спасибо!
|
Отправлено: 13:04, 12-12-2010 | #3 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать А есть ли простой способ именно узнать, какой из файлов новее?
|
Отправлено: 10:13, 07-10-2011 | #4 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Цитата Busla:
set "OneFile=file1" set "TwoFile=file2" call:CompareDate "%OneFile%" "%TwoFile%" & goto next :CompareDate set "d1=%~t1" set "d1=%d1:~6,4%%d1:~3,2%%d1:~0,2%%d1:~-5,2%.%d1:~-2%" set "d2=%~t2" set "d2=%d2:~6,4%%d2:~3,2%%d2:~0,2%%d2:~-5,2%.%d2:~-2%" if %d1% gtr %d2% (echo %OneFile%) else echo %TwoFile% :next setlocal enabledelayedexpansion set "OneFile=file1" set "TwoFile=file2" for /f "skip=1 tokens=1 delims=." %%a in ( 'wmic datafile where "name="%OneFile:\=\\%" or name="%TwoFile:\=\\%"" get lastmodified' ) do set "d1=!d2!" & set "d2=%%a" if %d1:~0,10%.%d1:~-4% gtr %d2:~0,10%.%d2:~-4% (echo %OneFile%) else echo %TwoFile% |
||
Отправлено: 14:00, 07-10-2011 | #5 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать Цитата Busla:
|
|
Отправлено: 14:25, 07-10-2011 | #6 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать El Sanchez, я такой вариант рассматривал самым первым, но, к сожалению, был вынужден отказаться от него. Дело в том, что если файлы расположены в разных папках, то он даст неверную картину.
Сортировка по дате к каждому такому файлу идет независимо. Он единственный обрабатывается в папке и под первым номером всегда будет "Filename1". |
Отправлено: 19:04, 07-10-2011 | #7 |
Ветеран Сообщения: 1273
|
Профиль | Отправить PM | Цитировать SendMessage, спасибо, все правильно. Будем считать, что мой вариант годится для файлов из одной директории.
|
Отправлено: 20:49, 07-10-2011 | #8 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:12, 07-10-2011 | #9 |
Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать kiripanda, надо же - я тоже в конце концов додумался до такого варианта. Но только сегодня.
|
Отправлено: 13:47, 08-10-2011 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Конкурс - Компонент панели управления "Дата и время" в Windows 7 | OSZone | Microsoft Windows 7 | 0 | 24-12-2009 17:30 | |
Интерфейс - [решено] Как удалить папку "Моя музыка","Мои Картинки", "Мое видео"? | verdix | Microsoft Windows 2000/XP | 3 | 03-10-2009 23:46 | |
Создание "Прогресса" на время работы "InetGetSize" | sashadeg | AutoIt | 24 | 30-09-2009 15:26 | |
CMD/BAT - [решено] Сравнение двух файлов>ветвление "fc" или "diff" | dARKest | Скриптовые языки администрирования Windows | 4 | 06-07-2009 23:02 |
|