View previous topic :: View next topic |
Author |
Message |
carlsonn
Joined: 04 Nov 2007 Posts: 11
|
(Separately) Posted: Wed Mar 12, 2008 01:10 Post subject: Открытие выделенных файлов во вкладках |
|
|
Посдкажите, как можно выполнить следующие задачи:
1. Необходимо выделенные папки в одной панели открыть во вкладках противоположной панели (каждую папку в своей вкладке);
2. Описанные выше папки содержат архивный файл, необходимо при выполнении первой задачи открыть также содержащийся в них архивный файл, конечно если такое возможно. Файл во всех папках одинаков.
Буду благодарен, если кто нибудь реализует это в с помощью vbs скриптика. Заранее спасибо! |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2220 Location: Москва, Россия
|
(Separately) Posted: Wed Mar 12, 2008 19:09 Post subject: |
|
|
Code: | '======================================================================
' Открытие выделенных папок в отдельных вкладках противоположной панели
' Также сразу может быть открыта вложенная папка или архив.
' Имя подпапки (архива) должно быть передано вторым параметром
' Параметры вызова из TC:
' %L {имя подпапки (архива)}
' Пример параметров:
' %L archive.zip
'======================================================================
Option Explicit
Dim Title, Mess, FSO, ListF, List, Fold, WSH, P, Add
' Проверяем параметры
Title = "Внимание!"
If WScript.Arguments.Count < 1 Then
Mess = "Неправильно указаны параметры!"
MessQuit
End If
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
ListF = WScript.Arguments(0)
If Not FSO.FileExists(ListF) Then
Mess = "Неправильно указан файл-список обрабатываемых папок!"
MessQuit
End If
If WScript.Arguments.Count > 1 Then
Add = WScript.Arguments(1)
End If
List = Split(FSO.OpenTextFile(ListF).ReadAll, vbNewLine)
P = "/R="""
For Each Fold In List
WSH.Run """%Commander_Path%\Totalcmd.exe"" /O /S /T /P=L " & P & Fold & Add & """" , 7, True
P = "/L="""
Next
WSH.SendKeys "{TAB}"
Quit
Sub MessQuit
MsgBox Mess, vbOKOnly + vbError, Title
Quit
End Sub
Sub Quit
Set FSO = Nothing
Set WSH = Nothing
Wscript.Quit
End Sub
|
_________________ Нет, я не сплю. Я просто медленно моргаю.
Last edited by Batya on Thu Mar 13, 2008 00:30; edited 1 time in total |
|
Back to top |
|
|
carlsonn
Joined: 04 Nov 2007 Posts: 11
|
(Separately) Posted: Wed Mar 12, 2008 21:55 Post subject: |
|
|
Огромное спаcибо, что откликнулись!
Но видимо я что то делаю не так...
Выделяю необходимые папки, потом жму кнопку выполнения скрипта и получаю следующую ошибку
вот кнопка (в данном случае без открытия архива, хотя с ним такая же ситуация)
Code: |
TOTALCMD#BAR#DATA
"C:\Program Files\Total Commander\Utils\Script Helper\DemoScripts\openfolderintabs.vbs"
%L
C:\Program Files\Total Commander\Wcmiconz.dll,7
Open Selected Folders in Tabs
C:\Program Files\Total Commander\Utils\Script Helper\DemoScripts\
-1
|
пробовал менять
Code: | WSH.Run "%Commander_Path%\Totalcmd.exe /O /S /T /P=L " & P & Fold & Add & """" , 7, True |
на
Code: | WSH.Run "C:\Program Files\Total Commander\Totalcmd.exe /O /S /T /P=L " & P & Fold & Add & """" , 7, True |
но, ничего не изменилось |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2220 Location: Москва, Россия
|
(Separately) Posted: Thu Mar 13, 2008 00:32 Post subject: |
|
|
Я не учел, что путь к TC может содержать пробелы.
Исправил исходный скрипт. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
carlsonn
Joined: 04 Nov 2007 Posts: 11
|
(Separately) Posted: Thu Mar 13, 2008 01:19 Post subject: |
|
|
Все просто отлично работает!!!
Огромное Вам спасибо!!! |
|
Back to top |
|
|
Vladimir77
Joined: 27 Feb 2006 Posts: 15
|
(Separately) Posted: Sun Feb 12, 2012 20:26 Post subject: |
|
|
Замечательная функция. Всю жизнь этого не хватало.
Но можно сделать ещё лучше
Я считаю, что соответствующая кнопка должна находиться не в панели инструментов, а в контекстном меню мышки около выбранной папки - вот тогда она станет ещё удобнее
Ведь контекстное меню существенно удобнее панели инструментов
Удобство по моему в следующем
- контекстное меню всегда ближе к мышке
- контекстное меню может вметить больше команд, поскольку набор команд зависит от контекста
Скажу более. Мне кажется, что эта команда должна стать стандартной в будущей версии командера, потому что именно открывает преимущество файлменеджера с двумя панелями перед Виндовым эксплорером.
Но одновременно возник и вопрос.
Я не нашёл возможности настройки контекстного меню в TotalCommander
Почему ? Ведь программ, желающих его замусорить - куча. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 12, 2012 20:36 Post subject: |
|
|
Vladimir77
Через шесть лет после предыдущего своего поста было решено, что самый подходящий повод для нового поста — это оффтопный подъём темы четырёхлетней давности? Разумеется, теоретически обращаться можно к сколь угодно старой теме. Но — по делу.
Тратить время на объяснение достаточно элементарных вещей человеку, у которого в профиле указано programer, не буду. Вкратце же — следующее:
В-первых, используемое в TC контекстное меню не настраивается, о чём на форуме говорилось неоднократно.
Во-вторых кнопок в контекстном меню, как нетрудно догадаться, не бывает, там команды.
В-третьих, такие украшительства постов на форуме категорически не поощряются.
В-четвёртых, наконец, подобные рассуждения в данной теме, просвящённой абсолютно конкретной задаче, — вообще оффтоп и флуд.
Замечание за нарушение правил форума. Ненужные "красоты оформления" из поста убраны. И больше тут — никакого оффтопа.
Добавлено спустя 49 минут:
Batya
Раз уж пошло такое дело, я посмотрел скрипт. Без дополнительного параметра, просто с %L. Если папки выделены в правой панели — её содержимое не изменяется, создаются вкладки в левой панели, последняя открывается. Если в левой — первая папка открывается справа, а остальные создаются слева (из них открывается последняя). Полагаю, что так быть не должно. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Vladimir77
Joined: 27 Feb 2006 Posts: 15
|
(Separately) Posted: Sun Feb 12, 2012 21:34 Post subject: |
|
|
В любом случае команда очень хорошая, но найдена в ней небольшая ошибка.
Она работает по разному в левой и правой панели в случае, когда выбрано несколько папок.
Не все выбранные папки открываются в одной панели.
Будет время -постараюсь разобраться.
Лучше бы ссылку мне дали на обсуждение контекстного меню. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 12, 2012 21:38 Post subject: |
|
|
Vladimir77
Что она работает по-разному, я написал выше.
(Что касается контекстного меню — если очень интересно, существует поиск по форуму. И я уже предупредил насчёт оффтопа. С этим тут — всё.) _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Feb 12, 2012 22:14 Post subject: |
|
|
Насколько я понял, вам достаточно этого:
Code: | '=====================================================================
' Открытие выделенных папок/архивов в отдельных вкладках другой панели
' Параметр: %L
'=====================================================================
With CreateObject("WScript.Shell")
For Each Fold In Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0)).ReadAll, vbNewLine)
.Run """%COMMANDER_EXE%"" /O /S /T /R=""" & Fold & """", 7, True
Next
.SendKeys "{TAB}"
End With |
|
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 12, 2012 22:29 Post subject: |
|
|
Flasher
Здесь всё нормально, но с %COMMANDER_EXE% будет работать только в TC 8. В 7.5x надо заменить на %Commander_Path%\Totalcmd.exe. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Feb 12, 2012 22:33 Post subject: |
|
|
Avada
Да я как бы в курсе. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 12, 2012 22:42 Post subject: |
|
|
Flasher
Да что ты-то в курсе, я не сомневаюсь, но читать это будешь не только ты. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Feb 12, 2012 22:47 Post subject: |
|
|
Avada
Я полагаю, тогда это надо 2All, а не мне писать? |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 12, 2012 23:02 Post subject: |
|
|
Flasher
Я, в свою очередь, полагаю, что для всех потенциальных пользователей скрипта, за исключением счастливых обладателей ОС x64, вариант с %Commander_Path% пока что выглядит несколько более предпочтительным, поскольку не заставляет задумываться, для какой версии TC годится, а для какой нет. А если ты решил использовать новую переменную, то область применения в шапке отметить не помешает. Смотреть будут в первую очередь сам скрипт, а уж потом последующие посты. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
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
|