View previous topic :: View next topic |
Author |
Message |
gora

Joined: 30 Dec 2004 Posts: 442 Location: Иваново
|
(Separately) Posted: Sun Sep 20, 2015 10:21 Post subject: |
|
|
Skif_off wrote: |
Код:
start %~dp0\TOTALCMD.EXE /i=%~dp0\wincmd9x.ini |
Переменная %~dp0 включает в себя концевой слеш и дублировать его в данной строке не требуется. _________________ Win7 SP1 Ultimate x64, TC8.52a x64 |
|
Back to top |
|
 |
Skif_off
Joined: 28 Nov 2012 Posts: 1244
|
(Separately) Posted: Sun Sep 20, 2015 12:00 Post subject: |
|
|
Flasher wrote: | Я имел в виду |
Я понял, уточнение касалось только VBS.
Flasher wrote: | Во всех случаях нужен как минимум ключ /N. |
Это спорно.
 Hidden text Известно, только не new ActiveX, а new ActiveXObject  ( Раз, два). Иллюстрировал экранирование кавычек, упустил, исправил пост, дабы не смутить никого.
"Бодаться" - это про удвоение кавычек в VBS, где-то в половине случаев путался.
start написал на автомате, в последних батниках часто использовал start /wait.
О скобках в VBS: это да, написал как привычнее в JScript.
gora wrote: | Переменная %~dp0 включает в себя концевой слеш и дублировать его в данной строке не требуется. |
Поторопился Вообще, видел примеры и с слешем, и без, посмотрел где использую у себя - не пишу.
P.S. Спасибо за указание на ошибки, ну редко пишу батники и VBS-скрипты, да  |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Sep 20, 2015 12:21 Post subject: |
|
|
Skif_off wrote: | Я понял, уточнение касалось только VBS. | Где там было про vbs?
Skif_off wrote: | Это спорно. | Почему же? Например, стоит запрет, а процесс ТС завис в трее.
 Hidden text И что у тебя при замене получится? new ActiveXObjectObject
А на vbs так:
Code: | With CreateObject("WScript.Shell") .Run "TOTALCMD.EXE /N /i=""" & .CurrentDirectory & "\wincmd9x.ini""" End With |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sun Sep 20, 2015 13:32 Post subject: |
|
|
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 |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Sep 20, 2015 14:28 Post subject: |
|
|
Mellomann wrote: | Сделаю вид, что понял, дабы не оффтопить. | Если бы понял, не написал ругательство. Речь шла о специальном разделении, а не предусмотренном изначально.
Mellomann wrote: | Спасибо, кэп! Не везде ж я админом могу ковыряться. Не катит. | Ну, тогда мирись с трудностями, где ни Тотал не запустить, ни батник, ни ещё что-нибудь. Чего стонать-то? Всякое проходили.
Mellomann wrote: | нужно избавиться от батников | От батников или от консольного окна?
Mellomann wrote: | И cmd ругается на него, ибо не понимает такой внезапности. ЧЯДНТ? | Интересно бы узнать, отчего такая внезапность. На /i не ругается? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Sun Sep 20, 2015 17:56 Post subject: |
|
|
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 |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sun Sep 20, 2015 18:23 Post subject: |
|
|
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 |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Sun Sep 20, 2015 18:27 Post subject: |
|
|
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 |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Sun Sep 20, 2015 18:39 Post subject: |
|
|
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 |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Sep 21, 2015 02:17 Post subject: |
|
|
Mellomann wrote: | От первого. | Только заменой на скрипт с записью значений в ini и запуском ТС. Кстати, vbs, как впрочем и любой другой скрипт, можно в exe скомпилить.
Mellomann wrote: | Второе поборото вызовом через start и последующим exit. | И какое же это избавление от чёрного окна?
Mellomann wrote: | Зато работает. | Только из системной оболочки и консоли. А как же исходная задача с Editor= и т. п.? %PROCESSOR_ARCHITECTURE% тут никак не годится.
И, кстати, насчёт бата: коли он в корне ТС, писать путь к TOTALCMD.EXE в нём не имеет смысла. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Mon Sep 21, 2015 11:19 Post subject: |
|
|
Quote: | И, кстати, насчёт бата: коли он в корне ТС, писать путь к TOTALCMD.EXE в нём не имеет смысла. |
Если батник запускать двойным кликом, рабочая папка будет правильной, а если из другой папки, то нет. И если с правами админа его запускать, рабочая папка будет C:\Windows\System32, и без указания пути батник работать не будет.
Quote: | Кстати, vbs, как впрочем и любой другой скрипт, можно в exe скомпилить. |
Слово "скомпилить" не совсем применимо к скриптам, которые просто пихаются в запускающий их экзешник.  _________________ 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 |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Mon Sep 21, 2015 11:21 Post subject: |
|
|
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 |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Sep 21, 2015 11:24 Post subject: |
|
|
MVV wrote: | а если из другой папки, то нет | Я и написал "коли он в корне ТС".
MVV wrote: | И если с правами админа его запускать, рабочая папка будет C:\Windows\System32 | Из под юзера? Из под админа ничего подобного не происходит. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
|
|
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
|