Ru-Board.club
← Вернуться в раздел «Программы»

» Total Commander (часть 9)

Автор: Skif_off
Дата сообщения: 18.02.2016 16:10
TemaZosin
Давайте с начала:
1. Команда

Код: cd %homepath%
Автор: TemaZosin
Дата сообщения: 18.02.2016 18:10

Цитата:
куда переходит и что вы ожидаете увидеть? Просто скопируйте пути сюда.

Переходит в папку /user/username. Я же ожидаю папку, которая открывается в проводнике Win10 - скриншот на прошлой странице выставлял (где повторяющиеся папки).

Цитата:
Просто скопируйте пути сюда

Так нет путей! Серьезно, если вы невнимательно прочитали предыдущие посты, как мы можем обсуждать решение?
И решение я ищу для переменной %userprofile% - проверьте куда она в проводнике ведет. Путаницы навели те, кто не хотел читать в чем у меня загвоздка, что я уже сам не ту переменную подумал.


Цитата:
Откуда у вас {7D83EE9B-2244-4E70-B1F5-5393042AF1E4}?

Откуда? В моем посте, и посте другого участника форума мы уже обсудили, что пути разные для Win7 и Win10. В своем посте я еще указал очень важную деталь: путь был изменен.

Вы не читали посты, но вы пишите, что я не читал и продолжаете мне шаблонно отвечать. Я уже указал, что я в курсе и плагинов и переменных (еще в первом посте), но вы продолжаете давить, будто я не знаю элементарного ответа. Почему я пришел на форум? Потому, что элементарный ответ не является решением. Почему я задал вопрос? Я надеялся на помощь форумчан, для чего и создан форум. Но некоторые, как служба поддержки онлайн-сервисов, увидев одно слово, кидает шаблонный ответ. Ну так и я мог Гуглом воспользоваться, если бы вопрос был настолько стандартен.


Цитата:
слил дистриб Win10x86
У меня X64 Pro.


Хорошо, рассмотрим вариант с вашей переменной. Как бы вы задали использование значения переменной и подстановка его для каталога в закладках (избранном)?
Автор: ewild
Дата сообщения: 18.02.2016 19:38

Цитата:
скриншот на прошлой странице выставлял (где повторяющиеся папки)


Цитата:
Откуда? В моем посте, и посте другого участника форума мы уже обсудили, что пути разные для Win7 и Win10. В своем посте я еще указал очень важную деталь: путь был изменен.


TemaZosin

А каким образом вы переносили системные папки в новые локации?

Добавлено:

Цитата:
Так вот, могу ли я как-то ТК вытягивать значения из реестра?

Загрузки - {7D83EE9B-2244-4E70-B1F5-5393042AF1E4}



TemaZosin

попробуйте в командной строке того же Тотал Коммандер выполнить поочередно две команды и сравните результаты:

explorer shell:::{374DE290-123F-4565-9164-39C4925E467B}

explorer shell:::{7D83EE9B-2244-4E70-B1F5-5393042AF1E4}
Автор: Skif_off
Дата сообщения: 18.02.2016 20:10
TemaZosin

Цитата:
Откуда? В моем посте, и посте другого участника форума мы уже обсудили, что пути разные для Win7 и Win10.

Стоило на самом деле поменьше "бурлить" и не торопиться:
воткнул в виртуалку Win10 Pro x64, после изменения пути к Downloads, путь всё так же храниться в двух ветках
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKCU\SOFTWARE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
в ключах {374DE290-123F-4565-9164-39C4925E467B},
НО в ветке
HKCU\SOFTWARE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
появляется ещё один ключ - тот самый {7D83EE9B-2244-4E70-B1F5-5393042AF1E4}. Не знаю, фича это Win10 или нет, ну и фиг с ним, нечего его вспоминать и упоминать, т.к. канонiчный ключ {374DE290-123F-4565-9164-39C4925E467B} всё так же работает.
Чуть позже могу предложить вариант на AutoIt, пока идея формируется.

Панель быстрого доступа: похоже, не получиться.

%userprofile%: непонятно, что у вы сделали, но это всё та же %userprofile% = c:\users\username, и выглядит так же, как на Win7. Вы переносили что-то ещё или добавляли ярлыки?

Добавлено:
Примитивно, для одной папки, сохранить как текстовый файл с расширением vbs:

Код: Set WshShell = CreateObject("WScript.Shell")
Path = WshShell.RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\{374DE290-123F-4565-9164-39C4925E467B}")
WshShell.Run "%COMMANDER_EXE%" & " /O /S /L=" & Path
Автор: ewild
Дата сообщения: 18.02.2016 21:05
TemaZosin

Одно решение готово:
Открытие папки загрузок кнопкой на панели инструментов TC
с помощью параметра реестра, возвращающего путь к этой папке

Код кнопки:

Код: TOTALCMD#BAR#DATA
%commander_path%\App\TCIMG\TCIMG.exe patha=<info=r0HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell~~Folders|{374DE290-123F-4565-9164-39C4925E467B}>

%commander_path%\TOTALCMD.EXE,6
Открыть папку загрузок

0
-1
Автор: Skif_off
Дата сообщения: 18.02.2016 21:18
ewild
Параметры лучше перенести в поле команды, т.к. в Избранном нет такого поля.
А почему не Shell Folders?
Автор: ewild
Дата сообщения: 18.02.2016 21:38

Цитата:
Параметры лучше перенести в поле команды, т.к. в Избранном нет такого поля.


Цитата:
А почему не Shell Folders?


Перенес.

Пока пугает надпись:

Код: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"!Do not use this registry key"="Use the SHGetFolderPath or SHGetKnownFolderPath function instead"
Автор: Skif_off
Дата сообщения: 18.02.2016 21:53
ewild

Цитата:
надпись

Так понял - это рекомендация для программистов: не использовать чтение реестра напрямую, а использовать CSIDL. Не думаю, что в данном случае чем-то грозит.

Цитата:
плюс REG_SZ vs REG_EXPAND_SZ

На AutoIt уже набросал, а TCIMG написан на нём же: с REG_EXPAND_SZ возвращает такую же строку.
Автор: ewild
Дата сообщения: 18.02.2016 22:12
В общем дядечка, который эту надпись написал, ругает и Shell Folders, и User Shell Folders


Цитата:
Under Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders, there is a message to registry snoopers: The first value is called “!Do not use this registry key” and the associated data is the message “Use the SHGetFolderPath or SHGetKnownFolder-Path function instead.”

I added that message.

The long and sad story of the Shell Folders key explains that the registry key exists only to retain backward compatibility with four programs written in 1994...



Цитата:
...Now there were thousands of programs which ... just went directly for the Shell Folders key. But developers didn’t realize that the support for Shell Folders was only intended as barely enough to keep those four original programs working.

For example, did you know that if you never open your Fonts folder, and if SHGetSpecialFolderLocation(CSIDL_FONTS) is never called, then there won’t be a Fonts entry in the Shell Folders key? Those entries are created only if somebody asks for them. No point setting up a compatibility hack until it is needed...

I implore you to exercise restraint and not rely on the new User Shell Folders key...


(с) Raymond Chen
(has worked in the Microsoft Windows division since 1992 and has seen a lot of things come and go).

п.с. Нашу проблему это похоже не затрагивает, ну станут эти ключи неактуальны через двести лет. Но прожили же они как-то свои двадцать. А кнопка пока поработает )
Опять же в общем, сократил до Shell Folders )
Автор: TemaZosin
Дата сообщения: 19.02.2016 01:12

Цитата:
explorer shell:::{374DE290-123F-4565-9164-39C4925E467B}

Думал об этом, но не проверил. ТК открывает окно проводника с папкой.


Цитата:
А каким образом вы переносили системные папки в новые локации?

Через свойства, как это позволяет делать система.


Цитата:
%userprofile%: непонятно, что у вы сделали, но это всё та же %userprofile% = c:\users\username, и выглядит так же, как на Win7. Вы переносили что-то ещё или добавляли ярлыки?

Обычный %userprofile% который ведет на /users/username не подходит по причине того, что в нем хранятся папки, которые по умолчанию идут
users/username/desktop
users/username/downloads
users/username/documents

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


Добавлено:

Цитата:
Одно решение готово:

Я могу этот код использовать для избранных каталогов (звездочка)? Там нет поля для параметров или мне их через "cmd.exe" -"parameter"?

Автор: andreik99
Дата сообщения: 19.02.2016 07:17
Подскажите, как можно сделать, чтобы когда копировался файла на /с FTP не устанавливалась текущая (на момент копирования) дата.
Думал что это чисто фишка сервера, но попробовал те же операции WinSCP и вижу дату создания файла.
Автор: Avada
Дата сообщения: 19.02.2016 07:22
TemaZosin

Цитата:
Я могу этот код использовать для избранных каталогов (звездочка)? Там нет поля для параметров или мне их через "cmd.exe" -"parameter"?

Там нет поля для параметров в стандартном диалоге настройки этого меню. Тем не менее, параметры работают. В Directory Menu Editor (одном из вариантов работы со Start Menu Editor.exe из Ultra TC Editors) это поле есть. (В файл ultra tc editors.ini для включения этой фичи надо добавить в секцию [DirectoryMenuEditor] ключ ShowParamList=1.) Либо открывать wincmd.ini для правки в текстовом редакторе и в секции [user] для команды с соответствующим номером добавлять ручками строку param<номер команды>=<параметры>. Не говоря уже про то, что можно, как и предлагалось, создать пользовательскую команду по вышеприведённому коду и уже её имя использовать в меню избранных каталогов в поле "Команда", в меню "Запуск", для назначения клавиш и так далее.
Автор: klarus
Дата сообщения: 19.02.2016 09:47
Столкнулся с такой проблемой - ТС не заходит в архивы по Ctrl+PgDn, проблема, видимо, локальна, так как "чистый" ТС (из коробки, без плагинов) также не заходит, причём на другой системе (VM) всё нормально.

Может кто-то сталкивался? Куда копать?

Перехватчики клавиатуры, типа Punto Switcher, выгружены, сама ОС -8.1 х64, основной ТС совмещённый (х32+х64), сборка своя, обновляемая с 7.57а до текущего 8.52а.
"Чистый" - раздельно - х32 и х64, чекбокс "Входить в архивы как в каталоги" отмечен.
Когда и где поймал баг - не могу понять. Прошу помощи.
Автор: Avada
Дата сообщения: 19.02.2016 10:54
klarus
Чтобы выяснить, что на самом деле не работает — сама команда или данная комбинация клавиш, надо из командной строки TC для архива под курсором выполнить cm_GoToDir.
Автор: klarus
Дата сообщения: 19.02.2016 11:02
Avada

Цитата:
из командной строки TC для архива под курсором выполнить cm_GoToDir


О как, не знал, так заходит.
Попутно спрошу, может есть эта страница, скомпилированная в *.chm? А то не всегда доступ к интернету есть...
Автор: Avada
Дата сообщения: 19.02.2016 11:10
klarus
Однозначно искать внешнюю программу, перехватывающую клавиатурный вызов. До результата. Вариант с переназначением клавиш в TC не обсуждаю, поскольку было сказано, что та же проблема на "чистой" копии.
Эту страницу достаточно сохранить на локальный диск как HTML-файл. Делать из неё CHM у меня на данный момент нет ни времени, ни желания. А вот обновлённую версию, видимо, скоро выложу.
Автор: klarus
Дата сообщения: 19.02.2016 11:17
Avada

Цитата:
рекомендую обратить внимание на наличие в шапке темы этой ссылки.


Я про неё знаю, просто всё объять так сразу... Проблемы, как правило, начинаются по мере их наступления.
Столкнулся почему? Как правило, если UniExtract с каким-либо файлом не справляется, то распаковывал в FAR -е (Arclite+Observer), автор плагина Observer обновил свой плагин для ТС, стал пробовать, ну и так далее.

Добавлено:

Цитата:
А вот обновлённую версию, видимо, скоро выложу.


Спасибо, хорошая весть.
Автор: Avada
Дата сообщения: 19.02.2016 11:30
klarus
Цитата про шапку уже утратила актуальность, я выше текст заменил, увидев добавленный вопрос.
А вообще алгоритм анализа проблемы в подобных случаях очевиден. Перво-наперво проверить альтернативный способ вызова той же команды, не связанный с клавишами. Поскольку такой вызов работает, дело не в команде и не архиве. Поскольку то же самое происходит и на "чистом" TC, дело не в настройках TC и не в изменении в TC или в TWinKey клавиатурного вызова на другую команду. Остаётся (как самая вероятная причина) внешний перехват.
Автор: klarus
Дата сообщения: 19.02.2016 11:39
Avada

Цитата:
дело не в настройках TC и не в изменении в TC

..... ->

Цитата:
Остаётся (как самая вероятная причина) внешний перехват.


Так я и не вменяю в вину ТС, понятно, что локальная (скорее всего ОС).
Ещё наблюдение, гружусь в Safe Mode с минимальными параметрами, то есть без авторана, соответственно без AV и т.д., по-прежнему не работает. Буду пробовать воспроизвести на этой же ОС при чистой (новой) установке.

Добавлено:
Повесил cm_GoToDir на кнопку, как временное решение.

Вообще странно всё это, автораны HKCU\Software\Microsoft\Windows\CurrentVersion\Run & RunOnse, HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run & RunOnse - чисто, AVZ - чисто, лог сохранил.



dev2null,

Цитата:
Она + эта
Автор: Skif_off
Дата сообщения: 19.02.2016 12:05
TemaZosin

Цитата:
Я могу этот код использовать для избранных каталогов (звездочка)?

Да, ewild в кнопке объединил в одну строку команду и параметр, просто скопируйте её и вставьте.

Цитата:
Обычный %userprofile% который ведет на /users/username не подходит по причине того, что в нем хранятся папки, которые по умолчанию идут
users/username/desktop
users/username/downloads
users/username/documents

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

Вы откруваете %userprofile% == /users/username и Windоws автоматически подгружает ссылку на каталог загрузок, в ТС такого механизма нет и не нужен, т.к. в файловой панели имеет дело с физическими файлами/каталогами (в т.ч. физическими ссылками).
Попробуйте посмотреть плагин VirtualPanel, вероятно, можно автоматизировать добавление каталога пользователя, добавить проверку на присутствие каталогов, которые возможно переместить, и добавить ярлыки с переходом к ним. Плагин позволяет сохранить файл состояния, загрузку и переход, вероятно, тоже можно автоматизировать. На странице описания есть ссылка на тему по обсуждению плага.

Добавлено:
tramparamparam
Если вы _всегда_ закрываете редактор, [more=как вариант]

Код: #cs
Скрипт автоматизации работы с Инструментом группового переименования (ИГП, Multi-rename tool или MRT)

Важно: см. описание параметра MultiRenameLoadSettings, самое простое - несуществующее имя шаблона,
например, "MultiRenameLoadSettings=none", чтобы ИГП был с настройками по умолчанию
([N], [E] и т.д.)
Проверки MultiRenameLoadSettings нет!

2016.02.18
#ce
#NoTrayIcon

Opt('WinWaitDelay', 100)

Global Const $WM_TC_COMMAND = 0x0433
Local $hTC, $sPath, $sExeName, $hWnd
;Ищем окно ТС
$hTC = WinGetHandle('[CLASS:TTOTAL_CMD]')
If @error Then
MsgBox(48 + 4096, 'MRT', 'Окно ТС не найдено!')
Exit
EndIf
;Читаем MultiRenameEdit в секции [Configuration] wincmd.ini
$sPath = IniRead(EnvGet('COMMANDER_INI'), 'Configuration', 'MultiRenameEdit', 'default')
If $sPath = 'default' Then
$sExeName = 'notepad.exe'
Else
$sExeName = StringRegExpReplace($sPath, '^.*\\', '')
EndIf
;Если окно ИГП уже существует - выходим с предупреждением
If WinExists('[CLASS:TMultiRename]') Then
MsgBox(48 + 4096, 'MRT', 'Инструмент группового переименования уже запущен!')
Exit
Else
;cm_MultiRenameFiles
DllCall("user32.dll", "int", "PostMessage", "hwnd", $hTC, "int", $WM_TC_COMMAND, "wparam", 2400, "lparam", 0)
;Ждем окно
$hWnd = WinWait('[CLASS:TMultiRename]', '', 25)
;Шлем нажатия клавиш
ControlSend($hWnd, '', '', '{F10}{DOWN}{DOWN}{ENTER}')
EndIf
;Ждем появления процесса редактора
ProcessWait($sExeName, 60)
;Проверяем существование процесса редактора каждые 150 мс
While 1
Sleep(150)
If Not ProcessExists($sExeName) Then ExitLoop
WEnd
;Ищем окно подтверждени ИГП и щлем Enter
ControlSend(WinGetHandle('[TITLE:Total Commander; CLASS:#32770'), '', '', '{ENTER}')
Автор: dev2null
Дата сообщения: 19.02.2016 12:36
klarus 12:02 19-02-2016
Цитата:
Попутно спрошу, может есть эта страница, скомпилированная в *.chm?

Она + эта : http://www.upload.ee/files/5578468/Language.zip.html
Автор: Avada
Дата сообщения: 19.02.2016 12:52
dev2null
А какой, если не секрет, практический смысл был в таком преообразовании (без разделения материала по страницам, содержания и прочего)?
Автор: dev2null
Дата сообщения: 19.02.2016 13:15
Avada 13:52 19-02-2016
Цитата:
А какой, если не секрет, практический смысл был в таком преообразовании (без разделения материала по страницам, содержания и прочего)?

Потому что просто и быстро. А содержание - зачем оно тут нужно, это же не справка? Впрочем, на вкус и цвет, как говорится...
Автор: tramparamparam
Дата сообщения: 21.02.2016 16:06
Уважаемые, помогите разобраться в инструкции по назначению хоткея для команды Start menu. До сих пор я пользовался очевидным обходным способом: создавал юзер-команду, идентичную команде Start menu, и уже для юзер-команды назначал произвольный хоткей. Но, похоже, есть более прямое решение, описанное в кратком мануале адд-она List2Clipboard от Lefteous.

[more=Вот фрагмент из файла readme.htm про создание хоткея]Hotkeys
You may also want to define a hotkey, if you require to use the command frequently. The start menu entry has to be one of the first ten entries, otherwise you'll have to extend the file "Totalcmd.inc". You have to remember the entries position. The following example uses a start menu entry on position 5.
1. In menu "Configuration" select "Options".
2. Select tab sheet "Misc".
3. Select a hotkey.
4. Select cm_usermenu5 in the command dropdown. The identifier can be changed in "Totalcmd.inc".
5. Push the little button to the right to apply hotkey. [/more]. Выделил жирным места, которых я не понимаю. Где и что должно в приведённом примере быть в числе первых десяти позиций? У меня в файле Totalcmd.inc ничего подобного нет, да и вообще этот файл не меняется при создании новых команд в Start Menu. А должен? Или, может, просто инструкция Lefteous устарела за 12 лет?

Спасибо!


Только мне кажется странным, что к 9-й мажорной версии файловому менеджеру требуются внешние костыли для столь простой операции, как копирование в буфер обмена имени выделенного файла (без расширения)?
Автор: Avada
Дата сообщения: 21.02.2016 16:20
tramparamparam
Пользуйтесь юзер-командами дальше и не забивайте себе голову устаревшими методиками, от которых добрые люди при первой же возможности давно отказались. Про справочник по командам вы вроде бы в курсе, там тоже об этом кое-что написано (включая и иллюстрацию того, где, как и почему в totalcmd.inc прописаны эти самые десять команд). А потом с годом выпуска этого аддона сопоставьте.
P.S. А задачу непосредственного копирования в буфер имени файла без расширения я бы ни крайне востребованной, ни типовой не назвал. Для таких дел обычно и используются всяческие средства автоматизации. Вот тут, например, можно посмотреть.
Автор: Vadim39
Дата сообщения: 24.02.2016 00:56
Вопрос для планшета: возможно ли создать клавишу, при нажатии на которую выполнялось бы действие Alt+Shift+Enter?
ЗарСпасБол!
Автор: Avada
Дата сообщения: 24.02.2016 07:13
Vadim39
На планшете какой TC используется? В обычном случае надо назначить клавишу для команды cm_CountDirContent. См., например, справочник по командам в шапке.
Автор: Xinsa
Дата сообщения: 24.02.2016 09:15
Подскажите что за плагин выводит в заголовке программы дату, время, на сколько загружен процессор?
Автор: Avada
Дата сообщения: 24.02.2016 09:23
Xinsa
Неоднократно отвечалось. По плагинам есть отдельная ветка (см. шапку), там всё это успешно находится поиском по в заголовке в версии для печати.
Автор: Vadim39
Дата сообщения: 25.02.2016 02:15
Avada
Спасибо большое!
А какой команде соответствует нажатие на пробел (выделить и подсчитать объем одной директории)?

Страницы: 1234567891011121314151617181920212223242526272829303132333435

Предыдущая тема: Дубль


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.