Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Засунуть батник в perl-скрипт? 
V
    Опции темы
Suppir
Дата 5.10.2009, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



Есть батник для синхронизации времени с сервера:
--------------------------------
net time \\SERV /set /yes
--------------------------------

Батник работает. Но возникла задача выполнять этот батник с задержкой по времени. Я пишу скрипт:

require Win32::Console;
Win32::Console::Free();
sleep(60);
system ("net time \\SERV /set /yes");



В ответ пишет, что неверен синтаксис команды NET TIME
PM MAIL   Вверх
shamber
Дата 5.10.2009, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 1
Всего: 18



Suppir, слешей добавьте smile
Код

system ("net time \\\\SERV /set /yes");


как-то так
PM MAIL Jabber   Вверх
Suppir
Дата 5.10.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



ой, точно smile спасибо за ответ!

Добавлено через 12 минут и 16 секунд
Вопрос: а можно как-то в батнике задержку прописать? (просто не на всех машинах Perl стоит)

Это сообщение отредактировал(а) Suppir - 5.10.2009, 12:34
PM MAIL   Вверх
shamber
Дата 5.10.2009, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 1
Всего: 18



Suppir, perl to exe ?
PM MAIL Jabber   Вверх
Suppir
Дата 5.10.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



perl to exe знаю, но думал, можно как-то проще сделать smile
может, просто добавить в батник строчку

Это сообщение отредактировал(а) Suppir - 5.10.2009, 12:59
PM MAIL   Вверх
shamber
Дата 5.10.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 1
Всего: 18



догадываюсь что не то, но спрошу:
pause? 

Это сообщение отредактировал(а) shamber - 5.10.2009, 13:03
PM MAIL Jabber   Вверх
Suppir
Дата 5.10.2009, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



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

Добавлено через 2 минуты и 35 секунд
Немножко оффтоп. (может кто знает). Поставил свежий total commander и обнаружил следующую ошибку:
при копировании текстового файла из одной директории в другую у него меняется кодировка с CP866 на CP1251. Половина скриптов (с русским текстом) испорчена :( Может кто знает, как эту пакость отключить?
PM MAIL   Вверх
jdoe
Дата 5.10.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 18.9.2009

Репутация: 2
Всего: 2



обычно задержку в батнике делают используя ping (на тот же 127.0.0.1).

совместить батник и перл-скрипт легко:

Код

@echo off
<приготовления>
perl -x %0 <параметры>
exit /b

#!perl
<дальше идет перл>



здесь весь секрет в ключе -x, который будет игнорировать всё, пока не найдет строчку, начинающуюся с #!

ежели некоторые действия необходимо выполнять через нужный промежуток времени, то стоит воспользоваться стандартными возможностями ОС по планировке заданий.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0856 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.