Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 8

Автор: res2001
Дата сообщения: 02.06.2010 08:39
Mark_Titov
Все таки планировщик для того и придумали чтоб запускать задачи в заданное время и с заданной периодичностью. Если ты найдешь способ делать это как-то по другому, то это будет другой планировщик.
Из твоего объяснения не понятно, почему нельзя запустить расчет из планировщика.
Предполагаю, что твой код в параметрах принимает дату расчета или что-то в этом роде. В этом случае можно написать обвязку в виде бат файла, которая будет запускать твой код с нужными параметрами. Запуск батника вставить в планировщик.
Автор: Mark_Titov
Дата сообщения: 02.06.2010 08:47
...Это будет единый код, там помимо этого всевозможные арифметические вычисления и этот батник будет работать круглые сутки (как сервис) не выключаясь...
Автор: res2001
Дата сообщения: 02.06.2010 09:04
Mark_Titov
Я обычно так разбираю даты, особо не заморачиваясь на универсальные способы:


Код:
set DAY=1
set MONTH=1
set YEAR=1
for /F "delims=.-/ tokens=1,2,3" %%i in ("%DATE%") do (
    set DAY=%%i
    set MONTH=%%j
    set YEAR=%%k
)
Автор: us0r
Дата сообщения: 02.06.2010 11:21
wolf0425
А если файлов много? (Но это так- лирика).
Автор: Free_Soft
Дата сообщения: 02.06.2010 11:49
Подскажите, можно ли в батнике создать команду на копирование текстового отрезка в буфер обмена? Другими словами, чтобы после отработки батника в буфере обмена оказался кусок текста.
Заранее благодарен
Автор: Mark_Titov
Дата сообщения: 02.06.2010 11:56
res2001 - спасибо большое буду ковырять...
Автор: wolf0425
Дата сообщения: 02.06.2010 12:04

Цитата:
wolf0425
А если файлов много? (Но это так- лирика).
а если файлов много - пишется for

с советами по дате там чего-то перемудрили, день месяца это в простых случаях просто %date:~0,2%, а в сложных - надо очень сильно извращаться чтоб его гарантированно получить и рецепт res2001 тоже сработает не лучше.
простой случай - это когда в системе гарантировано формат даты русский.
сложные случаи - это когда заранее неизвестно какой формат даты будет на момент исполнения батника в системе, извращений как разрулить эту тему попридумано много, простых вариантов нет.

Добавлено:
Free_Soft
Цитата:
Подскажите, можно ли в батнике создать команду на копирование текстового отрезка в буфер обмена? Другими словами, чтобы после отработки батника в буфере обмена оказался кусок текста.
nircmd тебе в помощь, запихивать в клипбоард строку или файл он умеет.
Автор: sjsash
Дата сообщения: 02.06.2010 12:46
wolf0425

Цитата:
Это я так понял форматирование диска А без запроса. Например сравнение файлов командой Comp с автоматическим ответом после сравнения "n" (типа больше не сравнивать файлы) будет код
Код: echo n | comp "C:\logfile.log" "D:\Log\logfile1.log" ???

Я что хотел спросить, команду
Код: echo "символ отвеа" | "оператор"
Автор: us0r
Дата сообщения: 02.06.2010 13:20
sjsash
Ну... По моему зависит от сожности. Для проверки- создай ярлык батником.
В простых ситуациях вроде везде.
Автор: wolf0425
Дата сообщения: 02.06.2010 13:27
sjsash нет, не к любому - некоторые утилиты хотят получить ввод именно с клавиатуры, а не с stdin, но это обычно только к паролям и прочей безопастности относится, и не ко всем.
т.е. с большинством утилит способ работает, но проверять - надо.
Автор: us0r
Дата сообщения: 02.06.2010 14:14
wolf0425

Цитата:
А если файлов много? (Но это так- лирика).

а если файлов много - пишется for

А при таком способе могут возникнуть проблемы?
Просто зачем гонять цикл, когда система наткнувшись на файл(ы) уже будет знать что делать.
Автор: wolf0425
Дата сообщения: 02.06.2010 14:24

Цитата:
Просто зачем гонять цикл, когда система наткнувшись на файл(ы) уже будет знать что делать.
а система точно спросит что делать только один раз, а не отдельно на каждый файл?
Автор: us0r
Дата сообщения: 02.06.2010 14:56
Всё. Ошибку понял.
Автор: BagaBaga
Дата сообщения: 02.06.2010 15:02
как через echo передать символ "ввод"
Просто при
echo y | a.exe
a.exe бесконечно ждет ввода "enter".

ps
a.exe < tmp.txt
работает (если временный файл содержит y и "ввод"), но костыль есть костыль
Автор: res2001
Дата сообщения: 02.06.2010 15:15
BagaBaga
Второй вариант вовсе не костыль, практически это то же самое что и с использованием echo, но более универсальный способ, как ты сами уже убедился.
Автор: Mark_Titov
Дата сообщения: 02.06.2010 15:38
Кто подскажет как узнать удаленно залогиненного пользователя в домене, зная имя компа?
Извиняюсь что не в тему...

...Прошу прощения - разобрался
Автор: sjsash
Дата сообщения: 02.06.2010 16:36

Цитата:
Я что хотел спросить, команду
Код: echo "символ отвеа" | "оператор"

можно прикрутить к любому оператору который требует ответа от пользователя или нет?

Всем спасибо, все понял
Автор: wolf0425
Дата сообщения: 02.06.2010 17:15
BagaBaga
Цитата:
Просто при
echo y | a.exe
a.exe бесконечно ждет ввода "enter".
a.exe < tmp.txt
работает
проверь все же
echo y| a.exe
может пробел мешается?
Автор: BagaBaga
Дата сообщения: 02.06.2010 17:45
echo y|a.exe (без пробела до и после |)
ведет себя точно так же
Автор: mugil_cephalus
Дата сообщения: 03.06.2010 06:43
BagaBaga

Цитата:
echo y|a.exe (без пробела до и после |)
ведет себя точно так же

а какой вывод у

Код: c:\>a.exe
Автор: wolf0425
Дата сообщения: 03.06.2010 11:43

Цитата:
ты решил задачу с бифуркацией на вывод сообщения юзеру или выполнением дефолного сценария ветвления скрипта?
?????????
Автор: mugil_cephalus
Дата сообщения: 03.06.2010 12:02
wolf0425

Цитата:
?????????

52-ая стр.
Автор: Free_Soft
Дата сообщения: 03.06.2010 14:19
Столкнулся с проблемой на Win x64:
нужно внести данные в реестр по адресу

Код: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform
Автор: cluster
Дата сообщения: 03.06.2010 14:29
Ребят, может задачка сложна, но вдруг есть более-менее готовое решение.

МТС присылает детализации звонков по сотрудникам в HTML-формате. В файлах - детализации кучи сотрудников + много всякой информации.
Нужно обработать такой файл и на выходе получить файлы по каждому моб. номеру с ТОЛЬКО детализацией. Желательно CSV-формат, т.е. сам файл будет выглядеть примерно:

Код: Дата,Время,Номер,Зона ПС,Зона ВТК,Услуга,,Длит. мин:сек,Стоимость руб.
01.04.2010,0:32:17,79602347464,,,Телеф.,,0:28,"0,9733"
01.04.2010,22:25:37,<--+79115807811,Ф-л МТС: Владимир,,Телеф.,,2:19,"226,269"
Автор: res2001
Дата сообщения: 03.06.2010 14:48
cluster
Задачка, по моему, не для батников.
Смотри в сторону JavaScript или VBScript, для разбора html можно использовать объект xmldom.
Автор: BagaBaga
Дата сообщения: 03.06.2010 16:03
как можно сделать "ввод с консоли" с выводом введенного в файл, например, вроде диалога

Введите дату в формате (YYYY MM DD):
1111 11 11

В результате должен появиться файл с введенной информацией.

Предполагаю, что надо
1. сохранить/считать в переменную (этого как сделать я как раз не знаю)
2. вывести в файл, например echo %v% > file.dst
Автор: us0r
Дата сообщения: 03.06.2010 16:13
BagaBaga
set /p info="BlaBlaBla: "
echo %info% | date.exe
echo %info% >> C:\blablabla.txt
Автор: wolf0425
Дата сообщения: 03.06.2010 16:23
mugil_cephalus
Цитата:
52-ая стр.
не, так и не решил.
Если есть конкретные идеи - предложи пример кода.
прерывание паузы произвольной клавишей - обязательно,
способ должен быть адаптируем для случая нескольких одновременно запущенных копий батника.

cluster
Цитата:
Ребят, может задачка сложна, но вдруг есть более-менее готовое решение.
если на батнике то задача сводится к тому чтоб
1. найти чем сконвертировать из utf-8 в win1251 или OEM
2. написать конфиг для sed, который и выдерет нужные поля в нужном порядке.
Автор: us0r
Дата сообщения: 03.06.2010 16:48
wolf0425

Код: echo u | pause > nul
Автор: wolf0425
Дата сообщения: 03.06.2010 17:37

Цитата:
Проверку нажатия клавиши- через if.
это как?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: XP не видит второй раздел на съемном USB-HDD


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.