![]() |
Особенность работы CMD из автозапуска
Столкнулся с такой проблемой, запускаю скрипт из ..CurrentVersion\Run, куда прописываю его из RunOnceEx.cmd во время установки WinXP. Примерно следующего содержания:
Код:
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "2" /f 1) удаление себя, да и чего либо, из HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 2)перезагрузка 3)команда "pause" хотя бы чтобы посмотреть что там происходит И в то же время, то же скрипт, запущенный вручную отлично срабатывает по всем пунктам. Подскажете, пожалуйста, в чем может быть проблема? Спасибо! |
Экспериментально, выяснил что команды, в том числе, на перезагрузку и "pause" выполняются в начале скрипта, а примерно с середины игнорируются, или игнорируется все с середины, непонятно, что он там делает, почему так может происходить именно в автозапуске?
Спасибо! |
Подскажите, хотя бы, как можно посмотреть результат работы скрипта если он выполняется из HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, при условии что "pause" не срабатывает, можно ли как-то отследить что выполняется?
Спасибо! |
vasya00, Вот ваша ошибка: "Избр***ое".
Код:
rd /Q /S "%USERPROFILE%\Избр***ое\Ссылки" |
Оформите вывод действий команд заданных в скрипте в файл - там увидите. Не исключено, что с кодировкой неразбериха.
|
Nordek, да дело даже не в этом, это ладно, спасибо конечно, но он не обрабатывает вполне корректные команды "pause" и "shutdown.exe -r -f -t 600 -c "Windows XP will now restart in 5 minute"
NickM, попробЫвал сделать вывод в файл, хорошая идея, вывел только одно "Для продолжения нажмите любую клавишу . . . ", хотя по факту запроса не было, остальное тишина.. |
vasya00, Попробуйте заменить -r -t -f на /r /t /f
|
Попробовал так:
Код:
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "2" /f>> c:\1.txt |
Цитата:
Цитата:
Так у Вас пакетный файл сам себя удаляет? И как же после этого должна выполняться последующая команда (перезагрузка)? Да и выводить команда "DEL" ничто в файл не будет, так как у неё отсутствует "StdOut". Хотя, если уж так хотите такую последовательность, то попробуйте такой "трюк": Код:
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "2" /f Пояснение: 1) Код:
del "%~f0" 2) команда для "самоудаления" и последующая команда для перезагрузки объединены с помощью амперсанда. |
Точно, спасибо! Интересно что, при запуске вручную скрипт отрабатывает все команды, в том числе и после самоудаления, а при автозапуске только до самоудаления..
|
Время: 12:31. |
Время: 12:31.
© OSzone.net 2001-