Как стать автором
Обновить

Комментарии 32

C ума сойти %)

Открыл для себя новый язык программирования :)
А я то думал что хорошо знаю консоль Windows :)
Спасибо за статью. Проделана отличная и емкая работа.
Черт, написать свою статью проще чем разбираться с чужой. Автору — плюс, а я читаю статью
Теперь не удивлюсь если завтра кто-нибудь напишет о Создании классов в bat файлах. :)
Ладно, я нормальный тетрис постараюсь на wsh сделать
завтра будет изложено применение ООП в батниках…
О! Я же говорил, не удивлюсь:-D Публикуйте, с удовольствием прочту.
я удивлюсь. вот фанаты то! Вопрос «зачем» я полагаю не уместным, верно ведь? или тут нечто большее чем любовь к искусству?
Ну например нужно прочитать конфиг вида

[Section1]
key1=value1

[Section2]
key2=value2

который будет использовать наш батник для себя. Без массивов как-то не то, согласитесь?)
круто! Слов нету! Т.е. как я понимаю сервером и троянцем на .bat уже никого не удивишь =((
bat штука мощная) Особенно ей резервирование данных с помощью xcopy удобно делать, и прикрутить допсофтинку для работы по расписанию)…
А зачем допсофтинка? at к Вашим услугам. Проверяем в самом батнике, есть ли этот батник в расписании at, если нет — добавляем.
как это сделать — подскажите плз)
В батнике анализируем вывод команды at:
1)
The service has not been started.
Нам говорят, что служба выключена. Включаем командой
sc start schedule

2)
There are no entries in the list.
OR
Status ID Day Time Command Line
— 1 Today 14:35 PM notepad
То есть, если список пуст или же в нем нет нашего батника, то добавляем задачу при помощи команды, например,
at 00:00 my.bat
(выполняется каждый раз, поэтому каждый день будет добавлять задание при условии, что комп в это время не выключен; можно попробовать другие опции, занести, например, на каждый день недели, тогда будет еще лучше).
3) Если задача уже есть в списке, то все ОК, едем дальше.

Вот как-то так.
Во втором, точнее так:
Status ID   Day                     Time          Command Line
-------------------------------------------------------------------------------
        1   Today                   14:35 PM      notepad
спс. отправляюсь на эксперименты
Попробуйте кроссплатформенный TCL или newLISP, предназначенные (кроме прочего) для написания скриптов. Зачем извращаться, пробуя что-то сделать на .bat? TCL весит 10МБ, newLISP — 1.5МБ.
А по-моему вы ни разу не гик и не извращенец.
А я и не утверждал, что я извращенец.

А на счёт гикнутости Вы многого не знаете. ;)
Таки нет, я — извращенец.

Есть два ноута. На одном старая видео карта, у второго сгорела лампа подсветки. А поиграться в Spellforce 2 хочется :) Что делать? Соединяем их по ehternet. Настраиваем сеть (на втором — вслепую, консоль позволяет) На втором запускаем TurboVNC и Spellfiorce 2 через wine через VirtualGL. На первом — VNC клиент. Используем клавиатуру и мышь второго и дисплей первого.
И как скорость обновления кадров в секунду? Когда я пытался сделать что-то подобное — там кадра 2 было в секунду.
15-20. Для стратегии достаточно. Графические глюки только wine'овские. VirtualGL новых не добавил.
Может быть в качестве проверки на число использовать findstr в режиме регулярных выражений?
Спасибо, не знал этой команды. Конечно же так лучше. Правда, переписывать, исправлять и дополнять нет желания — все равно никому это не надо)
Здравствуйте!

Наткнулся на эту статью и грандиозность решения заставляет меня спросить: под какой лицензией ЭТО распространяется и могу ли я это использовать в своём проекте?
Распространяется под лицензией WTFPL, так что на здоровье :)
Спасибо вам большое за работу! Это реально просто потрясающе. Жалко только что комментарии не на буржуйском :)
И ещё, надо сказать, что значения не могут быть пустыми, это особенность команды set

А вот эту неприятную особенность можно обойти, храня в переменной какой-нибудь «служебный» символ исключительно для того, чтобы set не ругался на пустую переменную. А выводить значение само собой, уже без него. Я пару лет назад по мотивам вашей статьи попробовал написать свой вариант массивов для батников, стараясь не подглядывать в ваш код, и сделал там именно так.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации