Pull to refresh

Comments 102

Например, как сделать паузу на заданное количество секунд? Команда pause тут бессильна. В место неё паузу удобно организовать через ping.
Пауза на 5 секунд будет выглядеть вот так:
ping 127.0.0.1 -n 6 -w 1000 > nul

Вот как узнать, содержит ли строка подстроку? Опять же, на первый взгляд ничего подходящего нет. На помощь приходит замена подстроки в строке:
set string=SOME TEXT
if not "%string%"=="%string:TEXT=%" echo YES


да уж… прям через одно место это делается… но радует что есть люди которые умеют выйти из ситуации :)
Особенно интересно делается интерактивность =)
Когда делал игру «сокобан», приходилось учитывать разные версии командной строки.
переходите на bash :)
а там нужно трудности преодолевать? =)
трудности — да, но не через одно место :)
сам по себе он не столько рулит (хотя конечно несравним с cmd), а вот вместе со стандартным набором консольных утилит… sed+awk это уже очень много.
sed, awk, grep, find… Этот список можно долго продолжать :)
таких людей зовут програмисты!=)
Код сходу непонятен, но чувствую, что круто! +
UFO just landed and posted this here
Больше всего понравилось: текст habracut`a
(=
Вы это сами всё? Тогда вы большой молодец. Плюс вам.
Спасибо за ссылку. Очень познавательно
Черепашка тож много чего нарисовать может…
UFO just landed and posted this here
«logo — это lisp без скобок», прочитал я в ZX-Review.
я еще и крестиком вышивать умею!
Это, конечно, не тетрис на sed, но всё равно круто.
Никогда бы не подумал, что это возможно в принципе.
>паузу удобно организовать через ping

Майкросовский подход :)
В подобных топиках обязательно найдется человек, которых напишет эту фразу.
не весть урл злобный парсер съел :)
Видимо он двоеточие недолюбливает…
я программировать начал с bat в досе на 286 в 96 году)) правда недолго) что-то делал интерактивное, но что б такое… я поражен. правда, похоже, за это время функциональность командного процессора несколько возросла.
а еще из извращений вспоминаются конфиги с навороченной логикой (менюшки там всякие, арт) для Quake 1 и 2 с их bind'ами и alias'ами :)
Ну не такие уж это и извращения. Часто батники как раз использовали для подобных вещей. Чтобы сделать некое подобие «интерфейса для секретарши».
А как такой код дебажить? Отладочными принтами, или есть возможность сделать это поудобнее?
И как юзать плавающую точку?
Да, это пожалуй самое оригинальное извращение из всех о которых я слышал =)
>А как такой код дебажить? Отладочными принтами, или есть возможность сделать это поудобнее?
Да, отладочными echo.
А ещё, если не делать @echo off, то можно видеть какие команды исполняются и с какими параметрами. Для удобства, этот вывод можно перенаправить в файл для дальнейшего изучения.

>И как юзать плавающую точку?
Надо написать функции для работы с плавающей точкой =)
В этой програме я использовал фиксированную точку, 4 десятичных разряда для дробной части.
Когда программистам делать нечего :)
А вы не директор по ведущим разработкам Мелкософта? =)
UFO just landed and posted this here
Я как-то раз видел исходники полиморфного(!) вируса, который полностью написан на bat-файле

Это не новость для посвящённых. В славные 90-е вирмейкеры куда больше изощрялись, чем сейчас. :)
Интересующиеся могут полистать старые e-zines вирсцены.
О да! Infected Voice — помню, помню =)
еще Infected Moscow помню был один выпуск, а второго вроде бы так и не дождались…
во были времена, когда натыкался на эти выпуски, приятно вспомнить.
О да! Infected Voice — помню, помню =)
Не туда ответил %|
«Pasted by Imp5»

это автор топика видимо запостил)
Хех, вечером по запарке не заметил))
Под дос был криптор исполняемых файлов написанный на .bat Trap авторства Christoph Gabler, последние версии правда уже полностью на asm вроде перевел.
круто у Вас на работе. есть чем заняться ;)
это в свободное время.
«programming for fun»
Ваша шайтан-программа грузит сеть весьма странным образом %)



Батник был запущен с сетевой расшарки на другом компе. Временных файлов на расшарке я не увидел :)
кстати графики сетевой активности тоже можно попорбывать батниками рисовать. должно быть даже проще, но не так эффектно, конечно)
Учитывая, что автор интересовался Infected Voice, стоит прогнать машина антивирусом :))
дык это ж из-за ping-задержки наверное?
компы в пределах одного роутера, второй комп под линуксом. Обычно задержка очень маленькая. Скорее, дело действительно в механизме исполнения батника. Кстати, батник сразу предупредил, что будет использовать не текущий путь (в расшарке), а c:\windows\.
Вообще этот батник создаёт временные файлы в текущей папке.
Ещё дело может быть в том, как cmd исполняет батники. Он их читает по командам (из-за этого батники можно менять в процессе исполнения)
временный файл создается, проверил (имя bin$)
Леша — ты опять забыл принять лекарство! =))
UFO just landed and posted this here
Это не картинка психиатра, там просто маленькая ящерка с выпотрошенными кишочками, которую ест ее мама
У меня эта хрень минут 5 гудела, может потому что виртуалка, но вряд ли. Так что батник для таких вещей — не самый лучший выбор))
у меня уже минут 20
что я делаю не так?
Freeman85 не жалуется, он хвастается =)
у меня на ноутбуке тоже где-то 20 минут работает.
Может и 20 минут, я как-то не засекал :) Просто говорю, что долго.
у меня работает 8 минут, идут цифры от 120 до нуля, потом выдает ошибку что файл с картинкой не найден, что я делаю не так? 0_о
Батник в любой папке лежать может?
Батник должен быть в папке, которая свободна для записи.

Посмотри, чтобы там уже не было result.bmp

В строках
set /a xPixels = 180
set /a yPixels = 120
замени разрешение на меньшее, например 8 на 8, чтобы не ждать результата долго.

Есть ли у тебя mspaint.exe?

Есть ли у тебя команда debug?
А какая версия Windows?
Когда я читаю вот такие стать, как ваша, я вдохновляюсь. Очень приятно читать настоящего хакера.

Заметьте, ни одного заминусованного коммента к статье.
Ваш минусовать начали :D, поднял обратно до нуля.
Я предвидел — меня это не оскорбляет. Спасибо вам, но право не стоило.
Может кто в курсе, есть ли способ прервать выполнение батника для ввода данных и записи в переменную? Не считая сторонних программ которые записывают введенное значение в errolevel?
rem SETLOCAL ENABLEEXTENSIONS
set /p var=Как Вас зовут?:
echo Hello, %var%

если не заработает, раскомментировать первую строчку
То что надо, спасибо :)
Если вам надо в определённом месте спросить что-то у пользователя, то вариант от kentaskis должен подойти.
Если это нужно сделать в произвольный момент, то к сожалению, я не знаю простых способов.
UFO just landed and posted this here
Да, начиная с Vista или 2003, waitfor есть в штатной комплектации.
А был ли мальчик? Короче, устал ждать счастья — убил выполнение. Используйте bash, удаляйте cmd.
UFO just landed and posted this here
А мне вспомнился спектрум, как это не банально. И хоть мое счастливое детство прошло без детища синклера, но позже этот прекрасный компьютер чрезвычайно увлек меня в своем виртуальном (эмулируемом) воплощении. Многое тоже приходилось делать руками, а иногда и особым образом «удалять гланды». Как первому (операции с плавающей точкой, тригонометрия через ряды, умножение с делением, которые Z80 не поддерживал), так и второму (нестандартные видеорежимы, вывод на экран блоками по 8х8, внутри которых можно использовать лишь 2 различных цвета, 3d на такой простенькой машинке) можно было обучиться, читая ZX-прессу, дискмаги и газеты. Среди прочих равных выделялся журнал ZX Format. В нем всегда можно было найти статейку-другую о программировании для speccy. Эх…
Такими темпами скоро варкрафт на бат перепишут )))
20 минут и файл размером 180x120px :) Хорошо повеселили
пару секунд и



Правда в Linux и с помощью специализированной программы Fraqtive.

С помощью пинга локалхоста задержки делать + (не могу пока).
В универе в курсе Синергетики такие изображения назывались Фракталы. Есть также спец. программы, которые их строят.
ага, вот например как />тут.
Например, как сделать паузу на заданное количество секунд?
В Windows7, не знаю как в Vista наконецто добавили
Извиняюсь за отрывок, случайно отправил
Examples:
TIMEOUT /?
TIMEOUT /T 10
TIMEOUT /T 300 /NOBREAK
TIMEOUT /T -1

Parameter List:
/T timeout Specifies the number of seconds to wait.
Valid range is -1 to 99999 seconds.

/NOBREAK Ignore key presses and wait specified time.

/? Displays this help message.

NOTE: A timeout value of -1 means to wait indefinitely for a key press.
а я уж думал, что щас картинка 20 на 20 тыс. px вылезет…
Теперь осталось написать на .bat-файлах веб-сервер
класс :)
вспоминаю молодость :)
Sign up to leave a comment.

Articles