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 

%PROCESSOR_ARCHITECTURE% в wincmd.ini и совместимость Win9X
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
gora



Joined: 30 Dec 2004
Posts: 442
Location: Иваново

Post (Separately) Posted: Sun Sep 20, 2015 10:21    Post subject: Reply with quote

Skif_off wrote:

Код:
start %~dp0\TOTALCMD.EXE /i=%~dp0\wincmd9x.ini

Переменная %~dp0 включает в себя концевой слеш и дублировать его в данной строке не требуется.
_________________
Win7 SP1 Ultimate x64, TC8.52a x64
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1244

Post (Separately) Posted: Sun Sep 20, 2015 12:00    Post subject: Reply with quote

Flasher wrote:
Я имел в виду

Я понял, уточнение касалось только VBS.
Flasher wrote:
Во всех случаях нужен как минимум ключ /N.

Это спорно.

 Hidden text

gora wrote:
Переменная %~dp0 включает в себя концевой слеш и дублировать его в данной строке не требуется.

Поторопился Smile Вообще, видел примеры и с слешем, и без, посмотрел где использую у себя - не пишу.

P.S. Спасибо за указание на ошибки, ну редко пишу батники и VBS-скрипты, да Smile
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sun Sep 20, 2015 12:21    Post subject: Reply with quote

Skif_off wrote:
Я понял, уточнение касалось только VBS.
Где там было про vbs?
Skif_off wrote:
Это спорно.
Почему же? Например, стоит запрет, а процесс ТС завис в трее.

 Hidden text

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



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sun Sep 20, 2015 13:32    Post subject: Reply with quote

Flasher wrote:
Не бред, если понимаешь о чём речь и с чьей стороны разбивка. Читаем внимательно приведённые топики.
Наверное, где-то что-то пропустил, ибо теперь уже не понял. Сделаю вид, что понял, дабы не оффтопить.
Flasher wrote:
Разблокируй. Там можно что угодно заблокировать, в т.ч. запуск Тотала.
Спасибо, кэп! Не везде ж я админом могу ковыряться. Не катит.
Skif_off wrote:
start %~dp0\TOTALCMD.EXE /i=%~dp0\wincmd9x.ini
Да, кавычек и вправду нет. За "%~dp0" спасибо, как-то даже и мысли не пришло его притулить. Но всё-равно это полдела, ибо в результате всего нужно избавиться от батников и нескольких wincmd.ini.
Skif_off wrote:
Flasher wrote:
Во всех случаях нужен как минимум ключ /N.
Это спорно.
Кстати, да. Мне нужен. И cmd ругается на него, ибо не понимает такой внезапности. ЧЯДНТ?
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sun Sep 20, 2015 14:28    Post subject: Reply with quote

Mellomann wrote:
Сделаю вид, что понял, дабы не оффтопить.
Если бы понял, не написал ругательство. Речь шла о специальном разделении, а не предусмотренном изначально.
Mellomann wrote:
Спасибо, кэп! Не везде ж я админом могу ковыряться. Не катит.
Ну, тогда мирись с трудностями, где ни Тотал не запустить, ни батник, ни ещё что-нибудь. Чего стонать-то? Всякое проходили.
Mellomann wrote:
нужно избавиться от батников
От батников или от консольного окна?
Mellomann wrote:
И cmd ругается на него, ибо не понимает такой внезапности. ЧЯДНТ?
Интересно бы узнать, отчего такая внезапность. На /i не ругается?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sun Sep 20, 2015 16:49    Post subject: Reply with quote

Flasher wrote:
От батников или от консольного окна?
От первого. Второе поборото вызовом через start и последующим exit.
Flasher wrote:
Интересно бы узнать, отчего такая внезапность. На /i не ругается?
Выводит:
Code:
Недопустимый ключ: "/N".
Вот мой новый батник:
 Hidden text
Не вкурю где ошибка.
В прошлой версии всё работало:
 Hidden text

З.Ы.
Кажись, придумал часть решения! Костыли, но всё же...
"%PROCESSOR_ARCHITECTURE%" в Win9X нет, поэтому выводится ноль символов. А это значит, под
RAR="%COMMANDER_PATH%\Plugins\arc\Rar_%PROCESSOR_ARCHITECTURE%.exe" -m5 -s -t
надо обозвать файлы
C:\Program Files\TC\Plugins\arc\Rar_.exe
C:\Program Files\TC\Plugins\arc\Rar_amd64.exe
C:\Program Files\TC\Plugins\arc\Rar_x86.exe

Как раз подсунется RAR версии 3.93 для некросистем и новые 5.хх для ХР+.

Осталось так же AkelPad, default.bar и прочий расходняк повесить. Правда, три варианта каждого как-то напряжно. Зато работает.

Хорошо хоть IA64 почила с миром, не надо под неё огород лепить...
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Sun Sep 20, 2015 17:56    Post subject: Reply with quote

Mellomann wrote:
Вот мой новый батник:

А не проще вместо @ перед каждой командой один раз в первой написать @echo off?
И не логичнее ли при обнаружении 32-битной системы просто делать goto 32?

Я бы всё равно оставил переменную tcdir, можно сразу COMMANDER_PATH определять, можно просто в %~dp0, если в 9х поддерживается ~.
Кстати, проверил, она и не поддерживается. Вместо %~dp0 пиши просто %0\.. (всегда выручало), но не заворачивай тогда в кавычки:
Code:
start %0\..\totalcmd.exe /N /I=%0\..\wincmdU64.ini

Code:
start %0"\..\totalcmd.exe" /N /I=%0"\..\wincmdU64.ini"

(вторая запись корректна, т.к. строки конкатенируются, а кавычки удаляются, это позволяет склеивать пути с пробелами с переменными и не забодиться о кавычках)

gora wrote:
Переменная %~dp0 включает в себя концевой слеш и дублировать его в данной строке не требуется.

Я обычно чихаю на такие прибабахи (в батниках, в Visual Studio и т.п.) и специально ставлю разделительный слэш для читабельности.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sun Sep 20, 2015 18:23    Post subject: Reply with quote

MVV wrote:
Вместо %~dp0 пиши просто %0\.. (всегда выручало).
Ой-вай! Тут явно не то, тогда батник запускает "TCwin64sel_NEW.cmd\TOTALCMD.EXE" - это будет за гранью добра...
MVV wrote:
А не проще вместо @ перед каждой командой один раз в первой написать @echo off?
Старая привычка, зато надёжно.
MVV wrote:
при обнаружении 32-битной системы просто делать goto 32?
goto 32 даёт запуск тотала с конфигой для win64, на win32 оно не надо.
MVV wrote:
%~dp0, если в 9х поддерживается
На win9X этот бат не надо, он только для х64

Кстати, отдельной строкой вынес, проверил:
@"%~dp0\totalcmd64.exe" /N /I="%~dp0\Wincmd64.ini"
работает, но стоит дописать
@start "%~dp0\totalcmd64.exe" /N /I="%~dp0\Wincmd64.ini"
и облом.
Кавычки есть, но толку нет.


Last edited by Mellomann on Sun Sep 20, 2015 18:30; edited 1 time in total
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Sun Sep 20, 2015 18:27    Post subject: Reply with quote

Quote:
Ой-вай! Тут явно не то, тогда батник запускает "TCwin64sel_NEW.cmd\TOTALCMD.EXE" - это будет за гранью добра...

Сдаётся, что ты что-то не так пишешь. На любой винде %0\.. указывает на папку, где лежит батник, т.к. операционка корректно разрешает такой путь. Проверил на тестовом батнике - запускает правильно:
Code:
start "" %0\..\test.exe

Quote:
goto 32 даёт запуск тотала с конфигой для win64, на win32 оно не надо.

Странная логика, пишешь 32, а запускается для 64-битной... И имя инишника тоже непонятное - wincmdU64. Я бы для 32-битной делал wincmd32, а для 64-битной - wincmd64 (или для одной из них просто wincmd).
Quote:
На win9X этот бат не надо, он только для х64

Я ж подумал, что батник ты пишешь как раз для древней, ибо в новой можно тупо в конфиге Autorun всё определить.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Sun Sep 20, 2015 18:39    Post subject: Reply with quote

MVV
У меня вообще хитро:
win32+TC32 - запускаем totalcmd.exe (на стандартный конфиг)
win64+TC64 - запускаем totalcmd.exe /N /I="%~dp0\Wincmd64.ini"
win64+TC32 - запускаем totalcmd.exe /N /I="%~dp0\WincmdU64.ini"
При этом "WincmdU64.ini" - это набор строк RedirectSection на Wincmd.ini и Wincmd64.ini.
Вот такой "опыт разработки и внедрения гибких решений".

Все пляски ради х64. Само по себе х32 уже отлажено со старых времён, а вот х64 добавляется по мере развития поверх существующего.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Sep 21, 2015 02:17    Post subject: Reply with quote

Mellomann wrote:
От первого.
Только заменой на скрипт с записью значений в ini и запуском ТС. Кстати, vbs, как впрочем и любой другой скрипт, можно в exe скомпилить.
Mellomann wrote:
Второе поборото вызовом через start и последующим exit.
И какое же это избавление от чёрного окна?
Mellomann wrote:
Зато работает.
Только из системной оболочки и консоли. А как же исходная задача с Editor= и т. п.? %PROCESSOR_ARCHITECTURE% тут никак не годится.

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



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

Post (Separately) Posted: Mon Sep 21, 2015 11:19    Post subject: Reply with quote

Quote:
И, кстати, насчёт бата: коли он в корне ТС, писать путь к TOTALCMD.EXE в нём не имеет смысла.

Если батник запускать двойным кликом, рабочая папка будет правильной, а если из другой папки, то нет. И если с правами админа его запускать, рабочая папка будет C:\Windows\System32, и без указания пути батник работать не будет.
Quote:
Кстати, vbs, как впрочем и любой другой скрипт, можно в exe скомпилить.

Слово "скомпилить" не совсем применимо к скриптам, которые просто пихаются в запускающий их экзешник. Smile
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…


Last edited by MVV on Mon Sep 21, 2015 11:22; edited 1 time in total
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Mon Sep 21, 2015 11:21    Post subject: Reply with quote

Flasher wrote:
vbs, как впрочем и любой другой скрипт, можно в exe скомпилить.
а это интересно...
Flasher wrote:
Mellomann wrote:
Второе поборото вызовом через start и последующим exit.
И какое же это избавление от чёрного окна?
Вполне себе вариант. Ну мелькнёт на полсекунды - и ладно. Главное - не висит пока работает ТС.
Flasher wrote:
Mellomann wrote:
Зато работает.
Только из системной оболочки и консоли.
Что в самый раз.
Flasher wrote:
А как же исходная задача с Editor= и т. п.? %PROCESSOR_ARCHITECTURE% тут никак не годится.
Вполне себе прокатило, вчера оттестировал на win7 - работает. Осталось на некрофилах ещё погонять.
Правда, пришлось пути менять, по аналогии с RAR.EXE...
Flasher wrote:
И, кстати, насчёт бата: коли он в корне ТС, писать путь к TOTALCMD.EXE в нём не имеет смысла.
Это ж гениально! Просто и гениально! Даже пути (к ТС) с пробелами не делают проблем.
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Mon Sep 21, 2015 11:23    Post subject: Reply with quote

Mellomann wrote:
@start totalcmd.exe /N /I="%~dp0\Wincmd0.ini"
Это ж гениально! Просто и гениально! Даже пути (к ТС) с пробелами не делают проблем.

Вариант с путем вроде выглядит ненамного сложнее:
Code:
start "%~dp0\totalcmd.exe" /N /I="%~dp0\Wincmd0.ini"

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



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

Post (Separately) Posted: Mon Sep 21, 2015 11:24    Post subject: Reply with quote

MVV wrote:
а если из другой папки, то нет
Я и написал "коли он в корне ТС".
MVV wrote:
И если с правами админа его запускать, рабочая папка будет C:\Windows\System32
Из под юзера? Из под админа ничего подобного не происходит.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
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