AlexSAN Опубликовано 31 июля, 2004 Жалоба Поделиться Опубликовано 31 июля, 2004 После очередной переустановки XP Prof появилась непонятная проблема: в cmd (bat)-файле, содержащем несколько команд "pause", эти самые команды выполняются через одну, т.е. 1-я(3, 5,...-я) выполняется как положено (пишет "для продолжения нажмите любую клавишу..." и, собственно, ждёт), а вот 2-я(4, 6,...-я) только пишет "для продолжения нажмите любую клавишу..." и не фига НЕждёт. Чтобы это могло быть, может кто знает? Ссылка на комментарий Поделиться на другие сайты Поделиться
XakTeaM Опубликовано 31 июля, 2004 Жалоба Поделиться Опубликовано 31 июля, 2004 Не знаю, у меня вроде бы всё работало. Но хотя, по понятным причинам, то это возможно потому что изначально в ХР приспособливалась для работы без консольных приложений, вот они все там и глючат... Там даже сеанса МС-Доса как таково нет, то есть загрузиться в досе нельзя. Ссылка на комментарий Поделиться на другие сайты Поделиться
Premium Опубликовано 31 июля, 2004 Жалоба Поделиться Опубликовано 31 июля, 2004 Код батника напиши плз Ссылка на комментарий Поделиться на другие сайты Поделиться
mmap Опубликовано 31 июля, 2004 Жалоба Поделиться Опубликовано 31 июля, 2004 Не знаю, у меня вроде бы всё работало. Но хотя, по понятным причинам, то это возможно потому что изначально в ХР приспособливалась для работы без консольных приложений, вот они все там и глючат...Там даже сеанса МС-Доса как таково нет, то есть загрузиться в досе нельзя. Ты путаешь консольные приложения, приложения под DOS и командные сценарии... Приложения под DOS - приложения которые запускаться могут под DOS, WinXP же это имулирует (т.к. она не DOS) и запускает их так, как будто они консольные. Консольные приложения - приложения, написанные под Win, но БЕЗ использования Win GUI. Командные сценарии - *.bat *.cmd файлы, содержащие набор коанд операционной системе и в полной мере её поддерживаются. Кстати, DOS он не один. Есть PC-DOS, MS-DOS и т.д. :) Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexSAN Опубликовано 31 июля, 2004 Автор Жалоба Поделиться Опубликовано 31 июля, 2004 XakTeaM уменя тоже всё работало до переустановки.Premium по поводу Код батника не совсем понял. Если в смысле текст, то самый произвольный типа@echo off | echo пауза 1 | pause | echo пауза 2 | pause и т.д. P.S. Сегодня (точнее уже вчера) в процессе тестирования очередного пакетника (файла сценария Winows) этот самый pause несколько раз сработал как положено, а потом опять загнулся. Ссылка на комментарий Поделиться на другие сайты Поделиться
Premium Опубликовано 1 августа, 2004 Жалоба Поделиться Опубликовано 1 августа, 2004 (изменено) Если в смысле текст, то самый произвольный типа@echo off | echo пауза 1 | pause | echo пауза 2 | pause и т.д. Во-во :) именно текст, причем желательно не самый произвольный, а тот, который не работает. Ну судя по приведенному примеру ты слегка перебарщил:) с оператором канала "|". Чтобы твой пример работал, кстати я бы его сделал так: @echo off echo пауза 1 && pause && echo пауза 2 && pause А оператор "|" запускает обе команды по краям, но правая ждет получения выходных данных от левой. У тебя и выдают четные pause в STDOUT, потому что слева echo пауза, она и идет на экран. Майкрософт про это в хэлпе написал: Использование оператора канала (|)Оператор канала «вертикальная линия» (|) забирает выходные данные одной команды (по умолчанию STDOUT) и направляет их на вход другой команды (по умолчанию STDIN). Например, следующая команда сортирует каталог: dir | sort В данном примере обе команды запускаются одновременно, но команда sort приостанавливает работу до получения выходных данных команды dir. Команда sort использует выходные данные команды dir в качестве своих входных данных, а затем свои выходные данные отправляет в дескриптор 1 (STDOUT). Напиши здесь тот батник, который не работает, более конкретно можно будет посоветовать. Изменено 1 августа, 2004 пользователем Premium Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexSAN Опубликовано 2 августа, 2004 Автор Жалоба Поделиться Опубликовано 2 августа, 2004 Premium Хотел как лучше, получилось как всегда... Это "|" не оператор канала, а неудачно выбранный разделитель, чтобы записать команды встрочку и рациональней использовать место в форуме. На самом деле всё выглядит традиционно: @echo off echo пауза 1 и т.д. Напиши здесь тот батник, который не работает Батник работает, не работает пауза, а вообще он выглядит примерно так @echo off echo Установка критических обновлений Windows XP SP2 ENG pause Далее следуют имена файлов обновления c ключами, затем echo Установка завершена. Сейчас будет выполнена перезагрузка pause shutdown /r /t 01 В итоге всё перезагружается безо всякой паузы Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 2 августа, 2004 Жалоба Поделиться Опубликовано 2 августа, 2004 AlexSAN Возможно, причина в бета-версии SP2 ? На моей Windows XP Pro SP1 все работает, как и должно... По описанию работают только нечетные pause, так, может быть, добавить временно одну pause до устранения проблемы с Windows? Ссылка на комментарий Поделиться на другие сайты Поделиться
Premium Опубликовано 2 августа, 2004 Жалоба Поделиться Опубликовано 2 августа, 2004 AlexSAN А все равно весь текст батника не напишу здесь, фиг вам всем, да? ;) ;) Может ты там где-нибудь ключ -z(отмена перезагрузки) забыл указать или еще что. Посмотри здесь http://www.softboard.ru/index.php?showtopic=8559&st=0 эти батники уже обсуждались Ссылка на комментарий Поделиться на другие сайты Поделиться
AlexSAN Опубликовано 2 августа, 2004 Автор Жалоба Поделиться Опубликовано 2 августа, 2004 Тролль Это не бэта-версия, а набор обновлений с мелкософта и ключики везде нужные стоят. На самом деле, как говориться, "... ларчик просто открывался...". Чёрт меня дёрнул в качестве "любой клавиши" выбрать стрелку; с любой другой клавишей всё работает нормально, без каких бы то ни было проблем, но стоит только в ответ на просьбу нажать любую клавишу стукануть по любой из четырёх стрелок, как cmd пролетает сразу через две команда pause. Выходит не совсем "любую клавишу" можно нажимать для корректного продолжения. Ладно, все спасибо за участие, внимание и помощь; так или иначе проблема разрешилась. P.S. Блин, надо было клавиатуру с кнопкой "Any key" покупать... :D Добавлено : [mergetime]1091478663[/mergetime] В смысле "Ладно, всеМ спасибо..." Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти