Autorun
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 73, 74, 75 ... 129, 130, 131  Next  :| |:
Total Commander -> Плагины Total Commander

#1096:  Author: FlasherLocation: Москва PostPosted: Thu Dec 01, 2016 15:52
    —
HA3APET wrote:
Не могу осилить

Code:
ProcessExecGetOutput PING 'cmd /c ping ya.ru -n 1|find /c "TTL"'
If %PING% = 1 Then

#1097:  Author: HA3APET PostPosted: Sat Dec 03, 2016 22:40
    —
Спасибо, работает. А можно вариант без CMD?
А то с UNC путями проблемы.

#1098:  Author: FlasherLocation: Москва PostPosted: Sun Dec 04, 2016 00:58
    —
Code:
ProcessExecGetOutput CMD 'ping ya.ru -n 1'
StrPos CMD '%CMD%' TTL
If %CMD% > 0 Then
  SetEnv IP 213.180.204.3
Else
  SetEnv IP 217.69.139.200

#1099:  Author: Kiril__777 PostPosted: Thu Dec 14, 2017 18:24
    —
Подскажите пожалуйста. Есть Win 10 х64 и ТС 8.52а
Как задать переменную равную разрядности ОС?
раскомментировал это
Code:
# LoadLibrary Plugins\Autorun_Process.dll
# ProcessExecGetOutput OSVER %COMSPEC% '/c ver'
# SetEnv /EV COMMANDER_OSVER "%OSVER%"

но переменная %OSVER% не задалась.
Тогда прописал это
Code:
LoadLibrary Plugins\Autorun_Sysinfo.dll
SetEnv /EV OSVER %SYSINFO_OSARCH%

Но опять переменная %SYSINFO_OSARCH% не стала равняться разрядности ОС. НУ по крайней мере в help_ru.chm не понятно написано как это сделать.

Как все таки мне это сделать?
Спасибо Smile


Получилось так Very Happy Very Happy Very Happy

Quote:
LoadLibrary Plugins\Autorun_Sysinfo.dll
SetEnv /EV SYSINFO_OSARCH %SYSINFO_OSARCH%

#1100:  Author: AvadaLocation: Россия, Саратов PostPosted: Thu Dec 14, 2017 19:27
    —
Kiril__777
Версия системы и её битность — это вообще-то не одно и то же, правда? Впрочем, кажется, всё уже ясно.

#1101:  Author: MVVLocation: Ростов-Дон PostPosted: Thu Dec 14, 2017 23:02
    —
Я у себя такое использую, тут можно любое число переменных объявлять в зависимости от разрядности ОС:
Code:
If %SYSINFO_OSARCH% = 64 Then
   SetEnv IS64 64.
   SetEnv X64 X64.
Else
   SetEnv IS64 .
   SetEnv X64 .
EndIf

#1102:  Author: Iori PostPosted: Sun Jan 14, 2018 01:50
    —
У меня в autorun.cfg прописано такое.
Code:

SetEnv 3264dir %SYSINFO_OSARCH%

If %SYSINFO_OSARCH% = 64 Then
  SetEnv 3264file %SYSINFO_OSARCH%
Else
  SetEnv 3264file

If %SYSINFO_OSARCH% = 64 Then
  SetEnv 64dir %SYSINFO_OSARCH%\
Else
  SetEnv 64dir

Но всё ровно, это как то не универсально. Слишком много переменных.
Притом, есть случаи когда встречаются папки х32 и х64. Или х86 и х64.
Нельзя ли это привести более к универсальному методу, используя одну или две переменных.

#1103:  Author: FlasherLocation: Москва PostPosted: Sun Jan 14, 2018 02:08
    —
Iori
Что понимается под универсальностью?
Если у тебя в части наличия папок и окончаний имён в разных случаях разные условия, то логично, что в каждом случае нужно использовать подходящие переменные. А если во всех случаях указана битность, то достаточно и первой строки.

#1104:  Author: Iori PostPosted: Sun Jan 14, 2018 02:27
    —
Flasher wrote:
Что понимается под универсальностью?

Имеется ввиду, одна или две переменные на все случаи. Чем меньше переменных, тем лучше.

Flasher wrote:
А если во всех случаях указана битность, то достаточно и первой строки.

Так в том то и дело, что не везде указана битность.
Например в одной папке workshop.ехе и workshopХ64.ехе.
В другой папке, Tracer\x86\tracer.exe и Tracer\x64\tracer.exe
Менять название папок и файлов дело не всегда хорошее.

#1105:  Author: FlasherLocation: Москва PostPosted: Sun Jan 14, 2018 03:59
    —
Iori
Переменная среды не в состоянии предугадать разные условия. Тут не может быть автоматизации по определению. Подставляется ровно то, что задано. Это же не скрипт, который я приводил. Тут либо несколько переменных либо переименование. А что касается x32/x64, то заведомо написать 'x' в базовое имя — не проблема.

#1106:  Author: Iori PostPosted: Sun Jan 14, 2018 04:28
    —
Flasher
Я тебя понимаю.
Существует ли решение с переменой, если у файла не указан 32 или 64 в имени файла? С папками это ладно. Но некоторые программы не будут работать, если изменять имя файла.
Скажем file.exe и file64.exe
Если нет, то далее самый подходящий вариант.
Code:

If %SYSINFO_OSARCH% = 32 Then
  SetEnv /EV 7zip %COMMANDER_PATH%\Packers\file.exe
Else
  SetEnv /EV 7zip %COMMANDER_PATH%\Packers\64\file64.exe
EndIf

#1107:  Author: FlasherLocation: Москва PostPosted: Sun Jan 14, 2018 04:35
    —
Iori
Так а чем тебе %3264file% не решение?
P.S.: Название для переменной, конечно, своеобразное.

#1108:  Author: Iori PostPosted: Sun Jan 14, 2018 05:12
    —
Flasher wrote:
Так а чем тебе %3264file% не решение?

А как мне это в путь приписать? Уму не приложу.
Так что-ли?
%COMMANDER_PATH%\Packers\%64dir%\file%3264file%.exe
Что делать когда папка одна, и в ней file.exe и file64.exe или file86.exe и file64.exe

Quote:
P.S.: Название для переменной, конечно, своеобразное.

От OSARCH, OSARCH2, OSARCH3 и так далее, мне не станет легче.
Надо, чтобы переменная несла смысл.

#1109:  Author: FlasherLocation: Москва PostPosted: Sun Jan 14, 2018 05:19
    —
Iori wrote:
Так что-ли?
Ну, ты с логикой дружишь? Если папка одна, зачем тебе %64dir%\ в пути? Я вроде под спойлером понятно написал.
Iori wrote:
или file86.exe и file64.exe
Для этого случая потребуется ещё одна переменная.
Code:
If %SYSINFO_OSARCH% = 64 Then
  SetEnv ArchOS 64
Else
  SetEnv ArchOS 86

Iori wrote:
Надо, чтобы переменная несла смысл.
OSARCH и несёт целевой смысл. А вот 3264 нет, т. к. в одном случае этого нет. И file подразумевает разрядность файла, а не оси.
Не нравится нумерация, есть другие варианты: ARCH, ArchOS.

#1110:  Author: Iori PostPosted: Sun Jan 14, 2018 05:44
    —
Flasher wrote:
Ну, ты с логикой дружишь?

Зависит от задачи. Smile

Flasher wrote:
Если папка одна, зачем тебе %64dir%\ в пути?

Пример был для:
\Packers\file.exe
\Packers\64\file64.exe
Как ты видишь, папка не общая.

Iori wrote:
Что делать когда папка одна, и в ней file.exe и file64.exe или file86.exe и file64.exe

А это, уже другой вопрос был.



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 73, 74, 75 ... 129, 130, 131  Next  :| |:
Page 74 of 131

Powered by phpBB © 2001, 2005 phpBB Group