Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Autorun
Goto page Previous  1, 2, 3 ... , 73, 74, 75  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 12603
Location: Москва

Post (Separately) Posted: Thu Dec 01, 2016 15:52    Post subject: Reply with quote

HA3APET wrote:
Не могу осилить

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

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
HA3APET



Joined: 22 Feb 2010
Posts: 147

Post (Separately) Posted: Sat Dec 03, 2016 22:40    Post subject: Reply with quote

Спасибо, работает. А можно вариант без CMD?
А то с UNC путями проблемы.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12603
Location: Москва

Post (Separately) Posted: Sun Dec 04, 2016 00:58    Post subject: Reply with quote

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

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Kiril__777



Joined: 09 Sep 2016
Posts: 15

Post (Separately) Posted: Thu Dec 14, 2017 18:24    Post subject: Reply with quote

Подскажите пожалуйста. Есть 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%
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 8944
Location: Россия, Саратов

Post (Separately) Posted: Thu Dec 14, 2017 19:27    Post subject: Reply with quote

Kiril__777
Версия системы и её битность — это вообще-то не одно и то же, правда? Впрочем, кажется, всё уже ясно.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4569
Location: Ростов-Дон

Post (Separately) Posted: Thu Dec 14, 2017 23:02    Post subject: Reply with quote

Я у себя такое использую, тут можно любое число переменных объявлять в зависимости от разрядности ОС:
Code:
If %SYSINFO_OSARCH% = 64 Then
   SetEnv IS64 64.
   SetEnv X64 X64.
Else
   SetEnv IS64 .
   SetEnv X64 .
EndIf

_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 413

Post (Separately) Posted: Sun Jan 14, 2018 01:50    Post subject: Reply with quote

У меня в 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.
Нельзя ли это привести более к универсальному методу, используя одну или две переменных.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12603
Location: Москва

Post (Separately) Posted: Sun Jan 14, 2018 02:08    Post subject: Reply with quote

Iori
Что понимается под универсальностью?
Если у тебя в части наличия папок и окончаний имён в разных случаях разные условия, то логично, что в каждом случае нужно использовать подходящие переменные. А если во всех случаях указана битность, то достаточно и первой строки.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 413

Post (Separately) Posted: Sun Jan 14, 2018 02:27    Post subject: Reply with quote

Flasher wrote:
Что понимается под универсальностью?

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

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

Так в том то и дело, что не везде указана битность.
Например в одной папке workshop.ехе и workshopХ64.ехе.
В другой папке, Tracer\x86\tracer.exe и Tracer\x64\tracer.exe
Менять название папок и файлов дело не всегда хорошее.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12603
Location: Москва

Post (Separately) Posted: Sun Jan 14, 2018 03:59    Post subject: Reply with quote

Iori
Переменная среды не в состоянии предугадать разные условия. Тут не может быть автоматизации по определению. Подставляется ровно то, что задано. Это же не скрипт, который я приводил. Тут либо несколько переменных либо переименование. А что касается x32/x64, то заведомо написать 'x' в базовое имя — не проблема.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 413

Post (Separately) Posted: Sun Jan 14, 2018 04:28    Post subject: Reply with quote

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
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12603
Location: Москва

Post (Separately) Posted: Sun Jan 14, 2018 04:35    Post subject: Reply with quote

Iori
Так а чем тебе %3264file% не решение?
P.S.: Название для переменной, конечно, своеобразное.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 413

Post (Separately) Posted: Sun Jan 14, 2018 05:12    Post subject: Reply with quote

Flasher wrote:
Так а чем тебе %3264file% не решение?

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

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

От OSARCH, OSARCH2, OSARCH3 и так далее, мне не станет легче.
Надо, чтобы переменная несла смысл.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 12603
Location: Москва

Post (Separately) Posted: Sun Jan 14, 2018 05:19    Post subject: Reply with quote

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.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Iori



Joined: 25 Apr 2012
Posts: 413

Post (Separately) Posted: Sun Jan 14, 2018 05:44    Post subject: Reply with quote

Flasher wrote:
Ну, ты с логикой дружишь?

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

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

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

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

А это, уже другой вопрос был.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... , 73, 74, 75  Next
Page 74 of 75

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group