Вы можете получить информацию о дате и времени изменения файла в пакетном скрипте, но вам нужно запомнить следующие вещи:
- это сочетание даты и времени;
- это зависит от локали;
- это строка .
Это означает, что перед сравнением вам нужно будет отрезать часть времени,который вы должны принять во внимание формат отображения, как указано в региональных настройках системы.И поскольку это строка, вы, вероятно, сможете проверить, является ли она конкретной датой, но не относится ли она к определенному периоду.
И вот как вы можете ее реализовать:
SET filename="C:\Documents and Settings\%username%\Application Data\Microsoft\Outlook\test.OTM"
IF NOT EXIST %filename% GOTO log
FOR %%f IN (%filename%) DO SET filedatetime=%%~tf
IF "%filedatetime:~0,-6%" == "%checkdate%" GOTO END
:log
ECHO %DATE%_%TIME%_%COMPUTERNAME% >> %LOG1%
В моей системе %%~tf
вернет дату и время в формате dd.MM.yyyy hh:mm
.Таким образом, часть %filedatetime:~0,-6%
следует этому формату и соответственно отсекает часть времени.Возможно, вам придется немного изменить выражение, чтобы оно соответствовало вашему случаю.
И последнее: есть предопределенная переменная с именем USERPROFILE
.Он указывает на домашнюю папку активного пользователя, C:\Documents and Settings\<i>username</i>
.Таким образом, вы можете уменьшить строку пути до этого: "%USERPROFILE%\Application Data\Microsoft\Outlook\test.OTM"
.