okela
Гость
|
|
« : 07-12-2005 11:21 » |
|
Помогите написать bat-файл запускающий сам себя раз в сутки, а использовать для этого нужно комманду for С недеждой, Okela
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #1 : 07-12-2005 11:23 » |
|
файл не может сам себя запускать поточнее и покрасочнее опиши задачу
|
|
|
Записан
|
|
|
|
okela
Гость
|
|
« Ответ #2 : 07-12-2005 11:34 » |
|
Задание именно такое, не больше не меньше, но поразмыслив над ним немного, делаю вывод: нужно чтобы раз в сутки создавался txt-файл с текущей датой, причем файл должен быть один и тот же, только содержимое (дата) меняется. С надеждой, okela
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #3 : 07-12-2005 11:51 » |
|
тогда дело обстоит так:
с батом тут связываться имхо лишне...
Нужна программа, которую либо сам запускаешь, либо в автозапуске сидит. Прога (по желанию,конечно) невидна и следит за временем. При смене суток - обновляет файл. Я могу попробовать сделать, но только завтра принесу (чичас занят) . В какое время суток должен обновицца файл?
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #4 : 07-12-2005 11:52 » |
|
а также имя и путь к файлу -?
|
|
|
Записан
|
|
|
|
okela
Гость
|
|
« Ответ #5 : 08-12-2005 07:30 » |
|
Время неважно. А важно, чтобы все-таки был батник, и ни какой-нибудь, а с коммандой for. в общем-то, я его сделала, но не работает он как надо, однако! а лыжи дальше не едут
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #6 : 08-12-2005 08:28 » |
|
батник, значит нуна... тады не знаю... ------- а приведи код батника - мож разберусь ?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #7 : 08-12-2005 08:33 » |
|
bat-файл запускающий сам себя раз в сутки
такого не бывает батник в студию! help for помог? создать текстовый файл с датой в техте: rem help date date /t >file_name.ext
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #8 : 08-12-2005 11:40 » |
|
test.bat: echo hello sleep 86400 start test.bat exit не уверен не запускай!!! вроде этого подойдет? но, чтобы sleep заработал на Винде (если он не работает) надо винду пропатчить ( http://malektips.com/xp_dos_0002.html) ----- мождно еще заюзать службы расписаний смотри help at
|
|
« Последнее редактирование: 08-12-2005 11:42 от PooH »
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
Dusk
Команда клуба
Offline
Пол:
Редкий, но веселый вид
|
|
« Ответ #9 : 09-12-2005 06:58 » |
|
А если батник прописать в автозагрузке виндов, а в нем следить новые сутки или нет, и если новые, то пересоздать текстовик... Другого выхода я не вижу....
|
|
|
Записан
|
Человек, сделавший хотя бы шаг к цели, сразу становится мишенью для всех отставших Опыт - это то, что появляется сразу после того, как он был так необходим... Бывают минуты, когда у тебя есть секунды, чтобы исправить деланное часами и не получить последствия на годы...
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #10 : 09-12-2005 07:44 » |
|
а комп может месяцами не выключацца вот я , к примеру, на работе сейчас делаю прогу, которая должна (в идеале) годами работать
|
|
|
Записан
|
|
|
|
Dusk
Команда клуба
Offline
Пол:
Редкий, но веселый вид
|
|
« Ответ #11 : 09-12-2005 09:33 » |
|
Алексей1153, есть условие, что используется именно батник, другого способа я просто не знаю.... Если кто и скажет запускать автоматом батник, то я буду тоже очень рад... Правда можно его запускать планировщиком задач, но это использование другой проги, что запрещено задачей...
|
|
|
Записан
|
Человек, сделавший хотя бы шаг к цели, сразу становится мишенью для всех отставших Опыт - это то, что появляется сразу после того, как он был так необходим... Бывают минуты, когда у тебя есть секунды, чтобы исправить деланное часами и не получить последствия на годы...
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #12 : 09-12-2005 09:37 » |
|
основная проблема заставить батник сутки подождать и не завершиться при этом.
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #13 : 09-12-2005 09:44 » |
|
okela , если это лабораторная работа, скажи преподу, что решения нет
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #14 : 09-12-2005 09:45 » |
|
основная проблема заставить батник сутки подождать и не завершиться при этом.
да ещё после перезагрузки
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #15 : 09-12-2005 11:42 » |
|
да ещё после перезагрузки ага не, ну в условии ничего про перезагрузку не сказано ... а тот вариант, что я предложил почти подходит по условию, батник сам себя запускает... вот только не придумаю куда бы в нем FOR воткнуть...
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #16 : 09-12-2005 11:46 » |
|
Если кто и скажет запускать автоматом батник, то я буду тоже очень рад...
Если надо просто батник запускать (в определенное время), можно попробовать использовать AT (see help at)
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
Sla
|
|
« Ответ #17 : 09-12-2005 11:48 » |
|
batник вроде и должен сам себя запускать а переменные передавать через окружение
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
MOPO3
Ай да дэдушка! Вах...
Команда клуба
Offline
Пол:
Холадна аднака!
|
|
« Ответ #18 : 23-12-2005 05:11 » |
|
batник вроде и должен сам себя запускать
Интересно как ты себе представляеш батник запускающий сам себя без посторонней помощи ? Как насчёт того чтобы запихать задачу в шедулер, чтобы он раз в час запускал какой-то батник, который и создаст/перепишет текстовый файл с датой ?
|
|
|
Записан
|
MCP, MCAD, MCTS:Win, MCTS:Web
|
|
|
Sla
|
|
« Ответ #19 : 23-12-2005 07:14 » |
|
один раз батник запустили а дальше в батнике візов самого себя вот только как?
через call или просто вызов
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
okela
Гость
|
|
« Ответ #20 : 24-12-2005 04:15 » |
|
Долго была of-line, потому как была в коммандировке на севере Якутии, однако Делала я сей батник так (только сильно не смейтесь) Текст файла testdate.bat if not exist test_date.txt date /t > test_date.txt for /f %i in (test_date.txt) do if "%i"=="%date%" goto label1 date /t > test_date.txt :label1 call testdate.bat Ну как? Он конечно не работает, зато комманда for есть Наука победит!!!!
|
|
|
Записан
|
|
|
|
x77
Команда клуба
Offline
Пол:
меняю стакан шмали на обратный билет с Марса.
|
|
« Ответ #21 : 06-04-2006 12:35 » |
|
Start Menu\Programs\Accessories\System Tools\Scheduled Tasks
|
|
|
Записан
|
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #22 : 06-04-2006 14:08 » |
|
x77, запускающий сам себя
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #23 : 06-04-2006 14:10 » |
|
okela, он должен запускать сам себя раз в сутки, а не постоянно.
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
PooH
Глобальный модератор
Offline
Пол:
... и можно без хлеба!
|
|
« Ответ #24 : 06-04-2006 14:12 » |
|
можно попробовать так: if not exist test_date.txt date /t > test_date.txt :label1 for /f %i in (test_date.txt) do if "%i"=="%date%" goto label1 date /t > test_date.txt call testdate.bat
|
|
|
Записан
|
Удачного всем кодинга! -=x[PooH]x=-
|
|
|
x77
Команда клуба
Offline
Пол:
меняю стакан шмали на обратный билет с Марса.
|
|
« Ответ #25 : 06-04-2006 14:33 » |
|
извращенцы ладно. запускать сам себя раз в сутки - это, конечно, бред, а выполнять какой-то участок кода раз в сутки - без проблем. @echo off :start if exist %DATE%.tmp goto start echo > %DATE%.tmp echo New Day! pause goto start и это далеко не единственный вариант. вот, например, любопытный ход: ping 127.0.0.1 -n %1% -w 1000> nul т.е. если мы вызываем этот батник как wait 10 - то получаем задержку в 10 секунд теперь можно организовать и цикл, и что угодно, которое раз в сутки будет что-то делать.
|
|
|
Записан
|
|
|
|
x77
Команда клуба
Offline
Пол:
меняю стакан шмали на обратный билет с Марса.
|
|
« Ответ #26 : 06-04-2006 14:36 » |
|
PooH, вызов самого себя - это в любом случае утопия. прогони просто тест: call test он у тебя вывалиться в эксепшн. это же рекурсия, просто тупо переполнится стек. в твоём примере стек переполнится не сразу, а через пару месяцев, но сама по себе идетя вызывать из батника тот же батник - это зло.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #27 : 06-04-2006 14:59 » |
|
можно вызывать не через call тогда управление родителю не передается (по крайней мере в досе не передавалось)
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
x77
Команда клуба
Offline
Пол:
меняю стакан шмали на обратный билет с Марса.
|
|
« Ответ #28 : 06-04-2006 15:07 » |
|
Sla, да, ты прав. если тупо писать имя батника - рекурсии не будет. тогда решение задачи такое, примерно: @echo off if exist %DATE%.tmp goto runme echo > %DATE%.tmp echo New Day! pause :runme self
|
|
|
Записан
|
|
|
|
x77
Команда клуба
Offline
Пол:
меняю стакан шмали на обратный билет с Марса.
|
|
« Ответ #29 : 06-04-2006 15:08 » |
|
надо бы конечно чистить временные файлы и пр., но лень просто
|
|
|
Записан
|
|
|
|
|