[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
mat.86, простая команда EXIT в подпрограмме будет означать просто выход из неё (т.е., эквивалентно _END).
У самой команды EXIT могут быть ключи: имя подпрограммы (необязательно той, которая выполняется), символы 1/2/-
Пробуй варианты EXIT 0, EXIT 2, EXIT [Имя основного окна], либо просто убить основное окно KILL \

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 466
  • Репутация:127

    [+] [-]
conty9, Насколько я понял из описания , команда относится к :
EXIT 1 - к процессу
EXIT 2 - к файлу
EXIT 3 - к функции
EXIT 4 - к циклу
EXIT - выход до конца текущего блока [ до } ]
-----------
Я правильно понял ?
EXIT 0 тогда ....

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 466
  • Репутация:127

    [+] [-]
___для справки___
В облегченных версиях PECMD при нажатии ENTER - программа закрывается.
Решается добавлением ресурса 10011 в секцию Dialog

[Цитировать]

    mat.86
  • 14134
  • Стаж: 8 лет 4 месяца
  • Сообщений: 225
  • Репутация:1

    [+] [-]
проверил EXIT 0 , не сработало

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 466
  • Репутация:127

    [+] [-]
mat.86, Так тебе же надо закрыть основное окно,а не подпрограммы - как оно у тебя называется ?
EXIT @имя окна
или KILL \имя окна

[Цитировать]

    mat.86
  • 14134
  • Стаж: 8 лет 4 месяца
  • Сообщений: 225
  • Репутация:1

    [+] [-]
83755conty9, Насколько я понял из описания , команда относится к :
EXIT 1 - к процессу
EXIT 2 - к файлу
EXIT 3 - к функции
EXIT 4 - к циклу
EXIT - выход до конца текущего блока [ до } ]
-----------
Я правильно понял ?
EXIT 0 тогда ....
Да я из этого сообщения подумал что EXIT 0 это к основному относится, если просто "EXIT - выход до конца текущего блока [ до }", а "EXIT 0 тогда ... " выход из основного, вот и попробовал, оказывается нет

[Цитировать]

    pegas
  • 21787
  • Стаж: 5 лет 2 месяца
  • Сообщений: 16
  • Репутация:3

    [+] [-]
Подскажите, как правильно обозвать эти пункты, там где знаки вопроса
avalat скинул мне скрипт на PECMD, и что то не отвечает давно,а там у него просто цифры по порядку были

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 466
  • Репутация:127

    [+] [-]
87364
Все что я понял, ветка служит зацепкой для условия, есть ветка выводим сообщение
IFEX HKLM\SYSTEM\CurrentControlSet\SafeBoot\Option, MESS Недостаточно памяти
так не работает
xnik, Попробуй так
REGI #HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Option\OptionValue,a
IFEX $%a%=1,MESS безопасный режим

[Цитировать]

    xnik
  • 19473
  • Стаж: 6 лет
  • Сообщений: 486
  • Репутация:11

    [+] [-]
  • Откуда: СССР
avalat Работает, спасибо
Ещё вопрос, кириллицу не отображает, какую версию лучше взять?

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 9 месяцев
  • Сообщений: 466
  • Репутация:127

    [+] [-]
xnik, у меня вот такая

[Цитировать]

    xnik
  • 19473
  • Стаж: 6 лет
  • Сообщений: 486
  • Репутация:11

    [+] [-]
  • Откуда: СССР
Все равно каракули, разные пробовал, надо редактировать настройки шрифтов

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
xnik, я описывал, что можно редактировать в PECMD - в строковой таблице я указываю шрифты Courier, Tahoma плюс изменить язык на нейтральный и кодовая страничка по-умолчанию ANSI.


Последний раз редактировалось: Гость (2021-07-20 20:09), всего редактировалось 1 раз

[Цитировать]

    xnik
  • 19473
  • Стаж: 6 лет
  • Сообщений: 486
  • Репутация:11

    [+] [-]
  • Откуда: СССР
conty9 к счастью до редактирования не дошло, все дело в кодировке было, спасибо

[Цитировать]

    korsak7
  • 107
  • Стаж: 9 лет
  • Сообщений: 1063
  • Репутация:62

    [+] [-]
Как сделать раскрытие переменной?
ранее определенные переменные
%DirWS%=x:\\WinNT
%WA%=x64
исходная переменная:
ENVI _s=%DirWS%\\WinNT_%WA%.exe
должна раскрыться в строку :
x:\\WinNT\\WinNT_x64.exe
то есть выглядеть как в случае задания исходной переменной как:
ENVI _s=x:\\WinNT\\WinNT_x64.exe
--------------------------------
без раскрытия работает по разному в разных командах:
mess %_s% - работает норм в любом виде
EXEC %_s% - в случае PECMD*86 и запуска внешнего .exe x64 не отрабатывает (а в случае раскрытой переменной - работает!)
WRIT X:\\WNT.cmd,+0,%_s% - в файл пишет исходную переменную %DirWS%\\WinNT_%WA%.exe

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
korsak7, в данном случае переменная должна раскрываться полностью (что и подтверждает mess %_s%).
Дополнительно раскрывать нужно только вложенные переменные, например, содержимое переменной User%NEnvi% раскрывается символом * после ENVI: ENVI* PathS=%User%NEnvi%%
Чем больше глубина вложения переменных, тем больше звёздочек ставим.)
Команда WRIT X:\\WNT.cmd,+0,%_s% и должна записать в файл %_s%.
Поскольку неверно написана, должно быть: WRIT X:\WNT.cmd,$+0,%_s% (символ "$" указывает, что мы пишем в файл содержимое переменной, а не текст).
По PECMD*86 и запуску внешнего .exe x64 - нужен конкретный пример, возможно, просто идёт перенаправление на подсистему х86 в среде х64. Старые версии PECMD перенаправляли (как и любое 32-битовое приложение), новые - не перенаправляют (если нужно перенаправить, используем ключ -no64 - не снимать ограничений файловой системы X64 для pecmd32).

Страница 7 из 27


Показать сообщения:    

Текущее время: 22-Ноя 17:35

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы