klenb,
Код:
@ECHO OFF
set old="datefile.txt"
set now="datenow.txt"
set program="notepad"
set zapuskali=no
date /t >%now%
fc %now% %old%|find "FC"&&set zapuskali=yes
del /f /s /q %now%
if %zapuskali%==no (
date /t >%old%
start "" %program%)
exit
Вроде работает. Переменные
old и
now задают файлы даты предыдущего и текуго запуска батника. Наличие этих файлов до первого запуска батника не обязательно. Переменная
program задает путь к запускаемой программе. В переменная
zapuskali сохраняем результат поиска команды find в выводе команды fc. Если нашли в выводе слово FC, то это значит, что fc выдало "FC: различий не найдено", значит файл уже запускали сегодня. Если же не нашли, то записываем в %old% текущую дату и запускаем нужную программу.
P.S. Строка
del /f /s /q %now% не обязательно- просто удаляет нужный только в момент сравнения файл
%now%