![]() |
Ошибка выполнения скрипта после его запуска через автозапуск.
Добрый день друзья!
В процессе написания скрипта возникло 2 вопроса: 1) Как сделать вывод в 1 строку сообщения о успешном выполнении действия? Пример
Echo *** eToken PKI Client 5.1 SP1) & (
START /WAIT MsiExec.exe /X%PKI% /qn) && (( Set /a K+=1) & ( Echo *** Выполненно) & ( echo.))) В данном случае после выполнения действия оповещение о выполнении выводится на следующей строке, как сделать вывод оповещения после выполнения команды в 1 строку? 2) При окончании работы скрипта, вводится запись в реестр (в автозапуск) чтобы скрипт продолжил отработку после перезапуска ПК, но при перезапуске скрипт выдает ошибки " файл по данному адресу не обнаружен", хотя если запустить вручную из того же места все прекрасно работает. Из-за чего такая проблема может возникать? Пример 2
For /f "usebackq tokens=1,2* skip=2" %%i IN (`Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V Key`) DO set Ins=%%k
if not defined Ins ( reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Key /d "1") & ( reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Run /d ^"C:\Users\123\321.CMD^" /f Shutdown /t 60 /f /r)) if defined Ins ( Echo *** Установка eToken PKI Client 5.1 SP1 ---) & ( START /WAIT PKI_Client\PKIClient.msi /qn /norestart) && (( Echo Выполнена) & ( Shutdown /t 60 /f /r))) |
|
А по второму вопросу, кто может подсказать?
|
8ash8, А зачем экранировать кавычки, и нужны ли они вообще здесь? Кроме того кавычки при записи в реестр экранируются обратным слешем (\").
Код:
^"C:\Users\123\321.CMD^" |
Вложений: 1
Вы правы, экранировать кавычки не к чему, скрипт запускается после перезагрузке, что с ними, что без них.
После перезагрузки скрипт запускается, но выдает Файл 133082 я полагаю что при запуске скрипта из автозагрузки он почему то не понимает относительный путь к дистрибутивам. Есть мысли как это поправить? прописывать абсолютный путь не вариант. Цитата:
|
Цитата:
Код:
>"%Temp%\CurrDir.txt" echo [%CD%]. |
Цитата:
|
Цитата:
В идеале скрипт должен запускаться и отрабатывать с флешки, но т.к. на разных ПК флешки могут определяться разными буквами, то полный путь задать не вариант, что можете посоветовать в этом случае? Относительно того, что почему, не использовал RunOnce/RunOnceEx, т.к. я не давно пытаюсь писать скрипты то много не знаю и в чем преимущество использования этих веток не знаю, но буду благодарен за пояснение или ссылку с инфой. Цитата:
|
Цитата:
Код:
CD /D %~dp0 |
Цитата:
Скрытый текст
For /f "usebackq tokens=1,2* skip=2" %%i IN (`Reg Query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V Key`) DO set Ins=%%k
if not defined Ins ( setlocal EnableDelayedExpansion set p=%~dp0 >"%Temp%\Dir.txt" echo !p! reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Key /d "1") & ( reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Run /d ^"C:\Users\123\321.CMD^" /f Shutdown /t 60 /f /r)) if defined Ins ( setlocal EnableDelayedExpansion Set /p X=<"%Temp%\Dir.txt" Echo *** Установка eToken PKI Client 5.1 SP1 ---) & ( START /WAIT PKI_Client\PKIClient.msi /qn /norestart) && (( Echo Выполнена) & ( Shutdown /t 60 /f /r))) |
Какой кошмар.
|
Цитата:
|
В коде.
|
Время: 13:43. |
Время: 13:43.
© OSzone.net 2001-