Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Файл должен открываться один раз в сутки через FC

Ответить
Настройки темы
CMD/BAT - [решено] Файл должен открываться один раз в сутки через FC

Новый участник


Сообщения: 6
Благодарности: 1

Профиль | Отправить PM | Цитировать


Здравствуйте!
Надо разработать командный файл, который бы запускал бы какой-либо файл один раз в сутки. То есть, если файл запускается первый раз в сутки, то он запускает какой-либо файл. Если файл уже запускали сегодня, то файл ничего не делает. Использовать для сравнения дат команду FC.

Например,

@ECHO OFF
date /t >datenow.txt
if exist datefile.txt (
fc datenow.txt datefile.txt >1.txt
if exist 1.txt (find "FC" 1.txt
goto bad)
)else goto good

:good
date /t >datefile.txt
start F:\d\eie.txt

:bad
exit


В общем недоработанная программа, не понимаю как сделать так чтобы он после сравнения файлов, сделал два условия:
1) если файлы одинаковые то, не открывать
2) если файлы разные то открывать

Отправлено: 17:36, 03-05-2010

 

Аватара для seriych

Старожил


Сообщения: 182
Благодарности: 42

Профиль | Отправить PM | Цитировать


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%

-------
* Книгой можно не только стаканчик с лапшой накрывать. ©

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:46, 03-05-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 6
Благодарности: 1

Профиль | Отправить PM | Цитировать


Действительно, так легче)
Спасибо

Отправлено: 07:45, 04-05-2010 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Файл должен открываться один раз в сутки через FC

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как упаковать папку в один файл и указать в ней исполняемый (exe) файл? SashaKl Хочу все знать 6 22-06-2009 01:11
Разное - Принетер печатает раз через раз. Solker Microsoft Windows 2000/XP 2 23-04-2009 10:02
Srv 2019: падение сервера раз в сутки. Yazago Microsoft Windows NT/2000/2003 1 08-08-2008 15:02
Сканер - Сканирует один раз Lord_@lex Прочее железо 0 20-06-2008 11:49
RRAS на один раз Guest Сетевые технологии 5 06-02-2004 11:54




 
Переход