Discussion:
NoClose Replacer
Black Dog
2005-05-09 12:43:52 UTC
Permalink
--
En Taro Adun, All

С Праздником.

В свое время забыл бросить сюда:

________________transmission_from_clipboard___________________

NoClose Replacer 1.0 by Konstantin Vlasov

http://wincmd.ru/download.php?id=noclose

Заменитель для NOCLOSE.PIF, предназначенного для запуска
консольных приложений без закрытия окна (по Shift+Enter). По
сути то, что находится в архиве, представляет собой обычную
программу, которая вместо command.com запускает то, что вам
нужно, и с теми параметрами, с которыми вам нужно (строку
запуска можно настраивать). Использование этой простенькой
программки под Windows NT/2000/XP/2003 позволит запускать
консольные приложения с помощью cmd.exe с возможностью
оставить консольное окно активным. Также этим обеспечивается
корректная работа с длинными именами и путями, содержащими
пробелы.

Под Win9x похожего командного интерпретатора нет, поэтому
придётся воспользоваться сторонними разработками.

Подробное описание настроек см. в файле ReadMe.

≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈end_of_transmission≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈

Я ношу командир на флешке, в корень флешки положил этот
пакетный файл

_______________transmission_from_noclose.bat__________________

@ECHO OFF
copy /y /v \totalcmd\Progs\NoClose.* %windir%
:END

≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈end_of_transmission≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈

и запускаю его на каждой новой машине.

Константину ОГРОМНЕ спасибо! :)

Успехов, понедельник, 9 мая 2005 г., 14:32:29
Black mailto:black_dog-***@public.gmane.org
----------------------------------------------------------~-->
I use Total Commander 6.52
under Windows XP 5 Service Pack 2
...На каждый ваш вопрос у нас найдётся ответ:
У нас есть пулемет, а у вас его нет!
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
-=GaLaN=- (Evgeniy Galanstev)
2005-05-09 14:28:29 UTC
Permalink
Hello Black Dog!

Забавно, как у многих возникают одни и те же идеи. :) Уже довольно
давно использую самописный NoClose.pif, который, не имея настроек
вообще, запускает "cmd.exe /k tra-ta-ta" или "command.com /k
tra-ta-ta" в зависимости от операционной системы, которую он
определяет самостоятельно.

Меня устраивает корректное использование встроенных в операционную
систему командных интерпретаторов.
--
@ Mail 1: [ -GaLaN--JGs/***@public.gmane.org ] 2: [ galan-+Zw0RrPzbwfQT0dZR+***@public.gmane.org ]
@ Page [ http://galanc.com ] @ ICQ [ 291381 ]
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Власов Константин
2005-05-09 23:04:31 UTC
Permalink
Привет, -=GaLaN=-.

G> Забавно, как у многих возникают одни и те же идеи. :) Уже довольно
G> давно использую самописный NoClose.pif, который, не имея настроек
G> вообще, запускает "cmd.exe /k tra-ta-ta" или "command.com /k
G> tra-ta-ta" в зависимости от операционной системы, которую он
G> определяет самостоятельно.

Хм... А разве у command.com есть параметр /k ? Если бы был, я думаю, Гислер не
стал бы заморачиваться с этим noclose.pif, а вызывал бы напрямую command.com /k.

G> Меня устраивает корректное использование встроенных в операционную
G> систему командных интерпретаторов.

Меня, в принципе, тоже. :) Но выкладывание проекта в общий доступ и
использование в личных целях - это две немножко разные вещи. :) Приходится
добавлять немножко универсальности...
--
Пока. Власов Константин,
автор NoClose Replacer.
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
-=GaLaN=- (Evgeniy Galanstev)
2005-05-09 23:21:24 UTC
Permalink
Hello Власов Константин!

ВК> Хм... А разве у command.com есть параметр /k ?
Какая разница - есть он или нет, ежели всё нормально работает? :)
Вообще я давно думал, что /k и /c - параметры, которые есть как у
command.com, так и у cmd.exe.

ВК> Если бы был, я думаю, Гислер не стал бы заморачиваться с этим
ВК> noclose.pif, а вызывал бы напрямую command.com /k.
NOCLOSE.PIF появился так давно, что тогда ещё не было консольных
приложений - только программы DOS. Отсюда выбор в пользу pif. Напрямую
же он это не вызывал, видимо, потому, чтобы опытный пользователь мог
сменить обработчик выполнялки Shift+Enter.

Возникает вопрос - почему нельзя путь типа cmd.exe /k занести в
нормальные настройки TC? ;) И нет необходимости во всяких NOCLOSE.PIF.

ВК> Но выкладывание проекта в общий доступ и использование в личных
ВК> целях - это две немножко разные вещи. :)
Да-с, вы правы. Это действительно небо и земля. Просто в вашем случае,
кажется, придётся править ini в зависимости от системы, а это не очень
удобно. Или я не прав?
--
@ Mail 1: [ -GaLaN--JGs/***@public.gmane.org ] 2: [ galan-+Zw0RrPzbwfQT0dZR+***@public.gmane.org ]
@ Page [ http://galanc.com ] @ ICQ [ 291381 ]
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Власов Константин
2005-05-10 07:09:12 UTC
Permalink
Привет, -=GaLaN=-.

G> Какая разница - есть он или нет, ежели всё нормально работает? :)
G> Вообще я давно думал, что /k и /c - параметры, которые есть как у
G> command.com, так и у cmd.exe.

Надо же, и правда есть... Просто если вывести справку по использованию
(command.com /?), то там никакого /C нету. Но я проверил - этот параметр
действительно работает.

G> Возникает вопрос - почему нельзя путь типа cmd.exe /k занести в
G> нормальные настройки TC? ;) И нет необходимости во всяких NOCLOSE.PIF.

Об этом Гислера давно просят, он всё отмалчивается...
Кстати, я ему недавно отослал письмо с предложением реализовать интеграцию
консоли в Тотале, описал, что там и как можно сделать и даже состряпал небольшую
прожку-демонстрацию, которую выслал ему вместе с исходниками. Не знаю, как в
личном общении, но на общественных форумах пока что настолько детализированного
описания возможного варианта интеграции консоли я не встречал. Пока что реакции
ноль... Если он и в такой ситуации откажется реализовывать эту фичу, то, по всей
видимости, на консоли в Тотале можно будет поставить жирный крест...

G> Да-с, вы правы. Это действительно небо и земля. Просто в вашем случае,
G> кажется, придётся править ini в зависимости от системы, а это не очень
G> удобно. Или я не прав?

Да, это так. Но поправить INI-файл один-единственный раз, мне кажется, не
проблема. Тем более, что noclose.pif рассчитан в основном на использование в
Windows NT-based системах, где есть cmd.exe, используемый по умолчанию. В случае
с Windows 9x всё придётся использовать либо command.com (который и так
используется Тоталом по умолчанию), либо какой-то внешний заменитель (а в этом
случае править INI-файл придётся по-любому), поэтому особой необходимости в
автоопределении системы я не вижу.
--
Пока. Власов Константин.
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Black Dog
2005-05-10 09:20:12 UTC
Permalink
--
En Taro Adun, Власов
10 мая 2005 г. в 11:09 +0400 Вы написали письмо,
адресованное -=GaLaN=-
на тему NoClose Replacer
В нем Вы писали, в частности, следующее:

G>> Просто в вашем случае, кажется, придётся править ini в
G>> зависимости от системы, а это не очень удобно. Или я не
G>> прав?
ВК> Да, это так. Но поправить INI-файл один-единственный раз,
ВК> мне кажется, не проблема. Тем более, что noclose.pif
ВК> рассчитан в основном на использование в Windows NT-based
ВК> системах, где есть cmd.exe, используемый по умолчанию.

1. Вообще-то noclose.pif расчитан на использование в Windows
3.x оболочках для MS-DOS (как очень верно отметил -=GaLaN=- в
mid:648472962.20050510032124-JGs/***@public.gmane.org), если, так сказать,
придерживаться исторической правды %).

2. Запускать "консольные" приложения в win9x в незакрывающемся
активном окне command.com удобнее в той же степени, что и под
winnt в cmd.exe (в смысле, удобнее, чем стандартное безобразие
с noclose.pif).

2. Каждый раз править INI все-таки не совсем удобно.

ВК> В случае с Windows 9x всё придётся использовать либо
ВК> command.com (который и так используется Тоталом по
ВК> умолчанию), либо какой-то внешний заменитель (а в этом
ВК> случае править INI-файл придётся по-любому), поэтому
ВК> особой необходимости в автоопределении системы я не вижу.

Все несколько проще - достаточно добавить в утилиту поддержку
переменных среды, тогда INIшник можно оформить следующим
образом:

[General]
CommandProcessor=%ComSpec% /K
ShowWindow=normal

и закрыть тему.

Успехов, вторник, 10 мая 2005 г., 12:06:11
Black mailto:black_dog-***@public.gmane.org
----------------------------------------------------------~-->
I use Total Commander 6.52
under Windows XP 5 Service Pack 2
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
mozers™
2005-05-10 08:07:12 UTC
Permalink
-=GaLaN=-
10 мая 2005 г. в 3:21:24 в своем сообщении
mid:648472962.20050510032124-JGs/***@public.gmane.org сказал так:

G> кажется, придётся править ini в зависимости от системы

Константин,
А если вообще отказаться от ini - пусть сама утилита, в зависимости от
ОС, определяет доступный командный процессор?
Это было бы очень удобно.
--
mozers≥ <http://total.altruistic.ru>
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Власов Константин
2005-05-10 08:56:12 UTC
Permalink
Привет, mozers.

G>> кажется, придётся править ini в зависимости от системы

m> Константин,
m> А если вообще отказаться от ini - пусть сама утилита, в зависимости от
m> ОС, определяет доступный командный процессор?
m> Это было бы очень удобно.

Не очень. Отказ от INI не позволит запускать командные процессоры, отличные от
cmd.exe и command.com. Конечно, можно определять по COMSPEC'у, но это тоже не
выход. Кроме того, в текущем варианте можно в качестве исполняемых файлов
указывать различные скрипты, BAT'ы, внешние программы и т.д., и т.п. В общем,
отказ от INI приведёт к очень и очень существенной потере гибкости.
Лучше сделать несколько по-другому: если есть INI (и в нём указан параметр
CommandProcessor), то использовать то, что в нём указано. А если его нету, тогда
использовать в зависимости от системы command.com или cmd.exe. Cейчас делается
почти то же самое - ведь INI-файл можно вообще удалить, тогда будут
использоваться настройки по умолчанию - cmd.exe /K и ShowWindow=normal. Такое
расширение, как я описал, не приведёт к потере функциональности, но сделает
утилиту более универсальной при параметрах по умолчанию. Только надо будет в
дефолтном INI-файле закомментарить строку с CommandProcessor...

В общем, как с дипломом и русификацией Тотала разберусь, займусь, наверное,
апдейтом NoClose. Тем более на гислеровском форуме виш-реквестики постили...
--
Пока. Власов Константин.
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
-=GaLaN=- (Evgeniy Galanstev)
2005-05-10 10:55:34 UTC
Permalink
Hello Власов Константин!

Предлагаю сделать проще. В ини сделать две настройки:

CommandProcessorNT=cmd.exe /K
CommandProcessor98=command.com /K

И использовать нужную в зависимости от системы. Будет и гибкость, и
удобство пользования - нет необходимости править инишку для 98-х
систем.

Ибо, как сказал Black Dog mid:17910326756.20050510122012-***@public.gmane.org (и
весьма верно сказал!), запускать консольные программы с помощью
command.com /k куда удобнее того использования NOCLOSE.PIF, что
изнально было задумано Гислером.
--
@ Mail 1: [ -GaLaN--JGs/***@public.gmane.org ] 2: [ galan-+Zw0RrPzbwfQT0dZR+***@public.gmane.org ]
@ Page [ http://galanc.com ] @ ICQ [ 291381 ]
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Власов Константин
2005-05-10 12:36:06 UTC
Permalink
Привет, -=GaLaN=-.

G> Предлагаю сделать проще. В ини сделать две настройки:

G> CommandProcessorNT=cmd.exe /K
G> CommandProcessor98=command.com /K

G> И использовать нужную в зависимости от системы. Будет и гибкость, и
G> удобство пользования - нет необходимости править инишку для 98-х
G> систем.

О, кстати, и правда, хорошая идея! Спасибо, так и сделаю. Только лучше назвать
не CommandProcessor98, а CommandProcessor9x.
--
Пока. Власов Константин.
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Black Dog
2005-05-12 10:33:56 UTC
Permalink
--
En Taro Adun, Власов
10 мая 2005 г. в 16:36 +0400 Вы написали письмо,
адресованное -=GaLaN=-
на тему NoClose Replacer
В нем Вы писали, в частности, следующее:

G>> Предлагаю сделать проще. В ини сделать две настройки:
G>> CommandProcessorNT=cmd.exe /K
G>> CommandProcessor98=command.com /K
ВК> О, кстати, и правда, хорошая идея! Спасибо, так и сделаю.
ВК> Только лучше назвать не CommandProcessor98, а
ВК> CommandProcessor9x.

А если, например, у меня 4DOS стоит командным процессором под
9x или 4NT под NT?

Успехов, четверг, 12 мая 2005 г., 13:05:00
Black mailto:black_dog-***@public.gmane.org
----------------------------------------------------------~-->
I use Total Commander 6.52
under Windows XP 5 Service Pack 2
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
-=GaLaN=- (Evgeniy Galanstev)
2005-05-12 12:00:22 UTC
Permalink
Hello Black Dog!

BD> А если, например, у меня 4DOS стоит командным процессором под 9x
BD> или 4NT под NT?
Тогда, вероятно, тебя можно с этим поздравить. :) В смысле - а в чём
проблема-то? Закинь в конфиг будущей версии и пользуйся. ;)
--
@ Mail 1: [ -GaLaN--JGs/***@public.gmane.org ] 2: [ galan-+Zw0RrPzbwfQT0dZR+***@public.gmane.org ]
@ Page [ http://galanc.com ] @ ICQ [ 291381 ]
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Black Dog
2005-05-12 19:35:52 UTC
Permalink
--
En Taro Adun, -=GaLaN=-
12 мая 2005 г. в 16:00 +0400 Вы написали письмо,
адресованное Black Dog
на тему NoClose Replacer
В нем Вы писали, в частности, следующее:

G> Тогда, вероятно, тебя можно с этим поздравить. :)

Спасибо.

G> В смысле - а в чём проблема-то? Закинь в конфиг будущей
G> версии и пользуйся. ;)

Зачем мне туда чего-то закидывать, если сама тулза это можно
взять в каждом конкретном случае из %ComSpec%?!

Успехов, четверг, 12 мая 2005 г., 22:02:34
Black mailto:black_dog-***@public.gmane.org
----------------------------------------------------------~-->
I use Total Commander 6.52
under Windows XP 5 Service Pack 2
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Власов Константин
2005-05-13 06:34:38 UTC
Permalink
Привет, Black Dog.

G>> В смысле - а в чём проблема-то? Закинь в конфиг будущей
G>> версии и пользуйся. ;)

BD> Зачем мне туда чего-то закидывать, если сама тулза это можно
BD> взять в каждом конкретном случае из %ComSpec%?!

Над COMSPEC-ом я думал, но тут есть одна проблема: не всегда можно
гарантировать, что синтаксис командной строки у установленного в COMSPEC
командного интерпретатора будет в точности такой, как, скажем, у command.com...
--
Пока. Власов Константин.
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Black Dog
2005-05-13 22:59:30 UTC
Permalink
--
En Taro Adun, Власов
13 мая 2005 г. в 10:34 +0400 Вы написали письмо,
адресованное Black Dog
на тему NoClose Replacer
В нем Вы писали, в частности, следующее:

ВК> Над COMSPEC-ом я думал, но тут есть одна проблема: не
ВК> всегда можно гарантировать, что синтаксис командной строки
ВК> у установленного в COMSPEC командного интерпретатора будет
ВК> в точности такой, как, скажем, у command.com...

Это как в том анекдоте - чё тут думать, прыгать надо. В смысле
Вы сделайте поддержку переменной среды, а мы, если надо,
"поправим INI-файл" - такая у меня к Вам личная просьба %).

Успехов, суббота, 14 мая 2005 г., 1:54:10
Black mailto:black_dog-***@public.gmane.org
----------------------------------------------------------~-->
I use Total Commander 6.52
under Windows XP 5 Service Pack 2
--
http://wincmd.ru - Все о Total Commander
http://www.fforum.ru/index.php?showforum=17 - Форум о Total Commander
Loading...