Скрипты - уникальный инструмент для достижения различных целей в работе с файлами и не только, особенно в файловом менеджере, даже если вы ничего раньше об этом ничего не слышали и не знали, то путём простых движений вы можете оптимизировать свои действия Тема тестирования скриптов создана для увеличения функциональности Total Commander Каждый может выложить свой скрипт написанный на любом языке: vbs, js, hta, au3,ahk, bat,cmd... главное, чтобы он относился как-то к Total Commander, можно было им воспользоваться и к нему было должное описание к применению. Каждый может протестировать, дать свой комментарий и ...[move]если есть интересная идея, вы можете поделиться ей и заказать скрипт, а вдруг она покажется интересной для авторов...[/move] Всё это делается для тех, кто хочет экономить время и автоматизировать работу Огромное спасибо участникам, авторам и всем повлиявшим на тему
Перед использованием скриптов, проэкспериментируйте сначала на "ненужных" файлах (у меня на разных дисках есть несколько папок с разными файлами для экспериментов) Как только вы убедитесь, что скрипт работает как надо, пользуйтесь на реальных файлах
- ряд скриптов могут не сработать: 1. Из-за раскладки клавиатуры (переключите раскладку, повторите заново) 2. Из-за неправильно указанных параметров (внимательно читайте комментарии внутри скриптов) 3. Из-за параметров %p и %P в командной строке и тому подобных (на практике иногда надо их брать кавычки "%P") 4. Из-за 2-х запущенных копий Total Commander (редко, но бывает) 5. Из-за неверно указанных путей использованных файлов (внимательно проверьте пути) 6. Из-за недостающих дополнительных утилит, использующих скриптом (проверьте есть ли они у вас) 7. Из-за очень большого количества файлов, посланных для обработки скрипту [indent][indent]- Может показаться, что скрипт не сработал, возможно он ещё работает. Чтобы в этом убедится откройте Диспетчер задач и посмотрите процесс - Скрипты, связанные с посланием команд Total Commander'y при очень большом количестве файлов работают неадекватно. (попробуйте в Тотале просто выделить 100.000 файлов - это займёт несколько секунд, сколько точно, никто сказать не может - это зависит от многих факторов. Так же и скрипты, связанные с фильтрацией, выделением... может показаться, что глючат - на самом деле сам Тотал не справляется с посланной ему командой, если речь идёт об обработке большого количества файлов)[/indent][/indent] --------------------------------------------------------------------------------------------------------------------------------- 8. Из-за ошибки автора - Сообщайте об ошибках
Для вызова скриптов в пользовательских командах или кнопках используются параметры:
? - В качестве первого параметра вызывает перед стартом программы диалоговое окно, содержащее указанные далее параметры. Вы можете изменить их перед стартом программы и даже отменить запуск
%P - Вставляет в командную строку исходный путь, включая обратную косую черту (\) в конце %N - Помещает в командную строку имя файла с расширением под курсором %O - Помещает в командную строку текущее имя файла без расширения %E - Помещает в командную строку текущее расширение (без предшествующей точки).
%T - Вставляет текущий каталог назначения %M - Помещает в командную строку текущее имя с расширением файла в каталоге назначения
%S - Помещает в командную строку имена всех выделенных файлов. Имена, содержащие пробелы, будут взяты в кавычки. Имейте в виду, что длина командной строки не может превышать 32767 символов %S10 - Помещает в командную строку имена не более чем 10 первых выделенных файлов. Вы можете использовать любое другое число для ограничения количества файлов, передаваемых в программу
%R - Работает аналогично %S, но для выделенных файлов в целевой панели
Замечания:
• %N и %M вставляют длинное имя, в то время как %n и %m вставляют имя DOS (8.3) %P и %T вставляют пути с длинными именами каталогов, а %p и %t — с короткими То же самое для %o, %e и %s и %r
• Если приписать %P, %p, %T или %t непосредственно перед %S или %s (без пробела между ними!), то к имени каждого файла из списка будет добавлен путь. При наличии пробелов полный путь автоматически заключается в кавычки. Пример: %P%S помещает в командную строку список всех выделенных файлов с полными путями
%L, %l, %F, %f, %D, %d, %WL, %WF, %UL, %UF - Создаётфайл списка в каталоге, заданном переменной TEMP, с именами выделенных файлов и каталогов и добавляет имя этого файла списка в командную строку. Список удаляется автоматически, когда запущенная программа завершается. Можно создать файл списка в одном из 10-ти форматов:
%L - Длинные имена файлов, включая полный путь, например, c:\Program Files\Long name.exe %l - (L в нижнем регистре) Короткие имена файлов, включая полный путь, например, C:\PROGRA~1\LONGNA~1.EXE.
%F - Длинные имена файлов без пути, например, Long name.exe. %f - Короткие имена файлов без пути, например, LONGNA~1.EXE.
%D - Короткие имена файлов, включая полный путь, но с использованием набора символов DOS для диакритических знаков. %d - Короткие имена файлов без пути, но с использованием набора символов DOS для диакритических знаков.
%UL, %UF - Аналогично %L и %F, но файлы списка создаются в Unicode-формате UTF-8 (с сигнатурой). %WL, %WF - Аналогично %L и %F, но файлы списка создаются в Unicode-формате UTF-16 (с сигнатурой).
%v - Помещает в командную строку имя виртуального файла при работе с FS-плагинами виртуальных панелей, для которых %N вставляет имя реального файла (в файловой системе), на который указывает выбранный элемент. %V - То же, что и %v, но с полным путём (включая имя плагина).
%X - Трактует последующие параметры как относящиеся к левой/правой панелям вместо исходной/целевой: %P, %p (путь слева), %T, %t (путь справа), %N, %n (имя слева), %M, %m (имя справа), %S, %s (выделенные слева), %R, %r (выделенные справа). Пример:%X%P %T - передаёт текущий путь слева и справа, например, для внешнего инструмента синхронизации.
%x - Трактует последующие параметры снова как относящиеся к исходной/целевой панелям. Пример:%X%P %x%P - передаёт текущий путь в левой панели и в исходной.
%Z - Будучи указан в любом месте в списке параметров, разрешает передавать архивы в качестве части пути во внешние программы для %P и %T, когда в панели открыто содержимое архива. Пример:%Z%P - передаёт имя открытого в панели архива во внешнюю программу.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ %% - Вставляет одиночный знак процента, важно для переменных окружения, которые прописываются в параметрах Пример: %%COMMANDER_PATH%%\
1. Указанный в секциях "код" текст необходимо сохранить в виде текстового файла с именем и расширением, указанным в начале кода. 2. Затем нужно перетащить этот файл на панель инструментов Total Commander - создастся кнопка. 3. Созданную кнопку необходимо подредактировать - нажать правой кнопкой мыши на созданной кнопке - выбрать "Изменить". 4. Изменение полей [indent][indent] а)Команда: путь\к\скрипту (обычно он уже есть) для скриптов au3, ahk перед скриптом необходимо поставить путь запускаемого преложения пример: %COMMANDER_PATH%\Utilities\Scripting\AutoIt\AutoIt3.exe "%COMMANDER_PATH%\Scripts\TextWork\InsertText.au3" б)Параметры: строку нужно заполнить согласно описанию в шапке скрипта. пример: %L в)Путь запуска: лучше это поле очищать (для bat, cmd и некоторых скриптов он необходим) г)Файл значка: редактируются "по вкусу" д)Подсказка: берётся из описания к скрипту, с учётом тех или иных параметров[/indent][/indent]
1. В связи с тем, что функции во многих скриптах повторяются, ряд из них вынесены в отдельные файлы Рекомендую создать папку Include скачайте и положите туда эти файлы:
Скачать:TCMCWindow (Версия 1.3 от 31.01.2012) Скачать:TCMCWindow (Версия 1.5. от 22.03.2012)
Что может утилита совместно с TCMC - посылать команды Total Commander - посылать клавиатурные нажатия окнам - вводить строки в окна - посылать текст в буфер обмена - возвращать текст из буфера обмена - устанавливать необходимую паузу между любыми действиями
Описание прилагается в архиве с программой Так же в архиве лежит утилита TCMC
Копирование выделенных файлов\папок с добавлением счётчика
Code
' CopySelectN.vbs '======================== Описание ===================================== ' Копирование выделенных файлов\папок с добавлением счётчика '======================= Параметры ===================================== ' 1-й параметр: файл-список ' 2-й параметр: минимальное количество цифр номера добавляемое к имени, если таковое уже есть ' - без параметра будет добавляться: имя_1, имя_2, _3, _4 ' - при 2 - имя_01, имя_02, _03, _04 ' - при 3 - имя_001, имя_002 ..... ' 3-й параметр: куда копировать (по умолчанию в ту же панель) '======================== Примеры ===================================== ' %L Копирование в ту же панель c_1 ' %L 2 Копирование в ту же панель c_01 ' %L 1 %t Копирование в соседнюю панель c_1 ' %L 3 %t Копирование в соседнюю панель c_001
' Автор: Аверин Андрей ' Версия: 1.2 (2010 - 28.12.2011) ' Mail: Averin-And@yandex.ru ' Site: http://tc-image.3dn.ru '====================================================================== Option Explicit Dim FSO, ListFile, SelFile, Name, Ext, Path, FPath, MPath, Rank, Delim, n, Num, Cnt, k Cnt = WScript.Arguments.Count If Cnt = 0 Then MsgBox "Не заданы параметры!", vbOKOnly + vbCritical, "Копирование" : WScript.Quit End If
If Cnt > 1 Then Rank = WScript.Arguments(1) Else Rank = 1 End If If Len(Rank) = 0 Then Rank = 1 Delim = "_" ' если не нужен замените на Delim = ""
Set FSO = CreateObject("Scripting.FileSystemObject") Set ListFile = FSO.OpenTextFile(WScript.Arguments(0), 1) Do While Not ListFile.AtEndOfStream SelFile = ListFile.ReadLine : Path = FSO.GetParentFolderName(SelFile) & "\" Name = FSO.GetBaseName(SelFile) : Ext = FSO.GetExtensionName(SelFile) k = 0 : n = 0 If Cnt > 2 Then FPath = WScript.Arguments(2) : MPath = FPath & Name & "." & Ext If (Not FSO.FileExists(MPath) And Not FSO.FolderExists(MPath)) Then CopyAll Else FPath = Path End If MPath = FPath If k = 0 Then Do n = n + 1 If n < 10^Rank Then Num = Right(String(Rank, "0") & n, Rank) Else Num = n End If FPath = MPath & Name & Delim & Num & "." & Ext Loop While (FSO.FileExists(FPath) Or FSO.FolderExists(FPath)) CopyAll End If Loop
ListFile.Close : Set ListFile = Nothing : Set FSO = Nothing : WScript.Quit
Sub CopyAll() On Error Resume Next If FSO.FileExists(SelFile) Then FSO.CopyFile SelFile, FPath : k = 1 End If If FSO.FolderExists(SelFile) Then FSO.CopyFolder Left(SelFile, Len(SelFile) - 1), FPath : k = 1 End If End Sub
Дата: Воскресенье, 22.01.2012, 19:53 | Сообщение # 142
Лейтенант
Зареген: 22.01.2012
Всего сообщений: 10
Вопрос: я тоже написал несколько скриптов На основе ваших Мне нужно было (Как) Можно представить на обозрение?
1. ClpBrd_nl TCmd команды типа cm_Copy*NamesToClip заносит имена файлов построчно Примените этот скрипт после вызова вышеназваных команд для преобразования списка в одну строку Для последущей вставки в Диалог Открыть (другой программы)
Code
' ClpBrd_nl.vbs '=================== Description (Описание) =========================== ' Replace ClipBoard New Line Characters to parameter character (default space) ' Преобразует в Буфере символы новой строки на заданный символ (пробел по умолчанию) ' '======================= Parameters Параметры ========================== ' 1 Character to replace (New Delimeter) (default space) ' Новый разделитель в строке- результате (пробел по умолчанию) '======================= Using Применение ============================== ' TCmd commads like cm_Copy*NamesToClip saves files one per row ' call this script to make it space (comma, ...) separeted ' to paste into Open Dialog (of other program) ' TCmd команды типа cm_Copy*NamesToClip заносит имена файлов построчно ' Примените этот скрипт после вызова вышеназваных команд ' для преобразования списка в одну строку ' Для последущей вставки в Диалог Открыть (другой программы) '======================================================================== ' Автор: Kassiop ' Версия: 22.01.1012 ' Mail: kassiop[at]ukr.net '============== Configured Paths Изменяемые пути ======================= NirCmd = "%COMMANDER_PATH%\Utils\NirCmd\NirCmd.exe" '=========================================================== Dim WSH, objHTML Set WSH = CreateObject("WScript.Shell") Set objHTML = CreateObject("htmlfile") Cnt = WScript.Arguments.Count If Cnt > 0 Then Delim = WScript.Arguments(0) Else Delim = " " End If Rez = objHTML.ParentWindow.ClipboardData.GetData("text") Rez = Replace(Rez, vbNewLine, Delim, 1, -1, 1) Rez= NirCmdArg(Rez)
Set WSH = Nothing Set objHTML = Nothing WScript.Quit
' Prepear argument to pass to the NirCmd ' Подготовка аргумента для передачи в NirCmd Function NirCmdArg(Arg) Dim Rez, i, ln, skip, ch, qt_Need ln=Len(Arg) skip=False qt_Need=False Rez="" For i=1 to ln if skip then skip=False else ch = Mid(Arg,i,1) nCh=Asc(ch) if nCh <= 9 Then ch="~x0"&nCh ElseIf nCh = 13 Then if (i<ln and Asc(Mid(Arg,i+1,1))=10) Then ch="~n" skip=True End if ElseIf nCh < 32 Then ch="~x"&nCh Else Select Case nCh Case 32 ' space qt_Need = True Case 160 ' space qt_Need = True Case 34 ' " ch = "~q" Case 126 ch = "~~" End Select End If Rez = Rez & ch End If Next NirCmdArg = Rez End Function
2. Args_ClpBrd.vbs Этот менее полезный Просто копирует строку аргументов в буфер обмена (т.к. Прямой вызов clipboard set не работает с "")
Code
' Args_ClpBrd.vbs '=================== Description (Описание) =========================== ' Coping arguments string to clipboard ' Копирует строку аргументов в буфер обмена ' '======================= Parameters Параметры ========================== ' * any parameters (filenames with "") '======================= Using Применение ============================== ' Direct call NirCmd clipboard set do not work with "" ' Прямой вызов NirCmd clipboard set не работает с "" '======================================================================== ' Автор: Kassiop ' Версия: 22.01.1012 ' Mail: kassiop[at]ukr.net '=========================================================== Dim WSH ',WHS Set WSH = CreateObject("WScript.Shell") '============== Изменяемые пути ============================ NirCmd = "%COMMANDER_PATH%\Utils\NirCmd\NirCmd.exe" '=========================================================== Rez="" Cnt = WScript.Arguments.Count If Cnt > 0 Then Delim = WScript.Arguments(0) For i=1 To Cnt-1 Arg_i = WScript.Arguments(i) If (Len(Arg_i)>0) Then Rez = Rez & NirCmdArg(Arg_i) & Delim End If Next Ln=Len(Rez) If Ln>0 Then Rez=Left(Rez,Ln-1) End If NirCmd = WSH.ExpandEnvironmentStrings(NirCmd) WSH.Run Chr(34) & NirCmd & Chr(34) & " " & "clipboard set " & Chr(34) & Rez & Chr(34), 2,True Set WSH = Nothing WScript.Quit
' Prepear argument to pass to the NirCmd ' Подготовка аргумента для передачи в NirCmd Function NirCmdArg(Arg) Dim Rez, i, ln, skip, ch, qt_Need ln=Len(Arg) skip=False qt_Need=False Rez="" For i=1 to ln if skip then skip=False else ch = Mid(Arg,i,1) nCh=Asc(ch) if nCh <= 9 Then ch="~x0"&nCh ElseIf nCh = 13 Then if (i<ln and Asc(Mid(Arg,i+1,1))=10) Then ch="~n" skip=True End if ElseIf nCh < 32 Then ch="~x"&nCh Else Select Case nCh Case 32 ' space qt_Need = True Case 160 ' space qt_Need = True Case 34 ' " ch = "~q" Case 126 ch = "~~" End Select End If Rez = Rez & ch End If Next if qt_Need then NirCmdArg = "~q" & Rez & "~q" Else NirCmdArg = Rez End if End Function
Сообщение отредактировал kassiop - Воскресенье, 22.01.2012, 20:28
Дата: Воскресенье, 22.01.2012, 23:09 | Сообщение # 143
Сборщик TC Image
Зареген: 04.08.2011
Всего сообщений: 431
Quote (kassiop)
Можно представить на обозрение?
Можно и нужно. Позже внесу названия скриптов и описание в шапку темы. А полезные они или не полезные пусть решают пользователи. Если будут какие-то ещё творения, выкладывай, не стесняйся.
В будущем планируется создать ещё несколько тем: отдельно обсуждения, отдельно тематика... У самого задумок около сотни, работы не початый край... Читайте:Справочные материалы по работе c TC + Онлайн справка TC
Дата: Понедельник, 23.01.2012, 15:02 | Сообщение # 144
Полковник
Зареген: 09.12.2011
Всего сообщений: 89
Quote (kassiop)
Для последущей вставки в Диалог Открыть (другой программы)
Что-то не пойму, для чего это. Чем %S не устроил? К тому же у строки есть ограничение, поэтому, превысив максимум, полученная строка урежется. И, кстати, тут буфер совершенно лишний. Если уж хочется получать список, то логично было бы использовать соответствующие параметры (%L, %l, %F, %f, %D, %d, %WL, %WF, %UL, %UF), как это обычно делается, т.е.
Дата: Понедельник, 23.01.2012, 18:26 | Сообщение # 145
Лейтенант
Зареген: 22.01.2012
Всего сообщений: 10
Quote (Майор)
Что-то не пойму, для чего это. Чем %S не устроил?
Попробую объяснить.
Сразу говорил что выношу свой опус на обсуждение (не на релиз ни в коем случае)
Буфер здесь как раз основная цель, чтобы (перед этим выполнив сохранение в буфер) выполнив скрипт вставить, например в диалог Открыть другой программы имена нескольких файлов, Ctrl+V.
I. ?%P%S немного хуже так как: 1) При применении нужно дополнительно нажимать Ctrl+C, Esc. 2) Могут быть необходимы другие форматы: NetNames, Short/Full – это +дополнительно настраиваемые команды.
II. Для длинных имен файлов тут уже есть подобные скрипты (FilesInLineInBufer, CopyLineInPathToClip), но 1) Он использует запись файловые операции, что хуже, медленнее, ограничивает информацию только файлами. 2) Для других форматов – +еще настраивать варианты запуска, у меня применение последовательно – сохранил в буфер (любыми способами), преобразовал скриптом, вставил. Или для жесткой связки (для тех же полных имен) 1) создается user команда на выполнение скрипта em_ClpBrd_Line %COMMANDER_PATH%\Scripts\ClpBrd_nl.vbs " " 2) создается user команда em_FullNames_Line – объединение копирования в буфер и преобразования %COMMANDER_PATH%\Utils\TCMC\TCMC.exe 20 CMcm_CopyFullNamesToClip 200 EMem_ClpBrd_Line
III. Варианты %L, %l, %F, %f, %D, %d, %WL, %WF, %UL, %UF ¬– ситуация аналогично скритптам (FilesInLineInBufer, CopyLineInPathToClip).
IV.
Quote (Майор)
К тому же у строки есть ограничение, поэтому, превысив максимум, полученная строка урежется.
Это кстати, касается только вашего варианта с %S. С буфером именно таких ограничений нет, правда при вставке в Открыть, вы правы порежет вставку, но это уже после и проблемы, скорее, Открыть.
Так что разница тут -несколько нажатий клавиш, возможность быстрее и гибче настраивать формат (конкретно файлов), в том числе «на ходу» и разделитель.
P.S. второй скрипт Args_ClpBrd vs BufferGo.vbs те же отличия. P.P.S. В буфере у меня тоже вызов NirCmd так что обрезать будет одинаково с %S.
Сообщение отредактировал kassiop - Понедельник, 23.01.2012, 19:19
Дата: Понедельник, 23.01.2012, 22:17 | Сообщение # 146
Полковник
Зареген: 09.12.2011
Всего сообщений: 89
Quote (kassiop)
Буфер здесь как раз основная цель, чтобы (перед этим выполнив сохранение в буфер) выполнив скрипт вставить, например в диалог Открыть другой программы имена нескольких файлов, Ctrl+V.
А смысл вставлять-то? Что это за программа, к которой нужно прописывать список в окне?
Quote (kassiop)
III. Варианты %L, %l, %F, %f, %D, %d, %WL, %WF, %UL, %UF ¬– ситуация аналогично скритптам (FilesInLineInBufer, CopyLineInPathToClip).
Можно аргументировать? Не понял.
Quote (kassiop)
Это кстати, касается только вашего варианта с %S. С буфером именно таких ограничений нет, правда при вставке в Открыть, вы правы порежет вставку, но это уже после и проблемы, скорее, Открыть.
Значит, что не только с %S. Именно о системном ограничении и речь.
Quote (kassiop)
В буфере у меня тоже вызов NirCmd так что обрезать будет одинаково с %S.
Я просто не понимаю, с какой целью строку параметров вообще нужно копировать в буфер?
Дата: Понедельник, 23.01.2012, 23:28 | Сообщение # 147
Лейтенант
Зареген: 22.01.2012
Всего сообщений: 10
Quote (Flasher)
Что это за программа, к которой нужно прописывать список в окне
Я о таком не говорил.
Я говорю о стандартном системном диалоге Открыть OS Windows - Open Dialog. Пример (непрактичный): 1) запускаем MS Word, 2) нажимаем Открыть 3) выделяем несколько файлов Word (c помощью Shift, Ctrl +MouseClick, Ctrl+A ) - они появляются в строке "Имя файла" через пробел. 4) Нажимаем OK - открываются сразу несолько файлов.
2. Варианты %L, %l, %F Тоже: 1) создают временный файл 2) потом нужно нажимать Ctrl+C, Esc.
3. Второй скрипт - как побочный результат первого, он менее практичный. Таким образом можно сформировать строку параметров для запуска програмы в консоли, например, при интерактивной админской работе в консоли.
4. Зачем вам тогда меня критиковать с ограничениями коммандной строки, если они общие? Кроме того в моем случае от них все таки можно избавиться, если заносить в буффер не с помощью NirCmd.
Сообщение отредактировал kassiop - Понедельник, 23.01.2012, 23:32
Дата: Вторник, 24.01.2012, 00:43 | Сообщение # 148
Полковник
Зареген: 09.12.2011
Всего сообщений: 89
Quote (kassiop)
Я о таком не говорил. Я говорю о стандартном системном диалоге Открыть OS Windows - Open Dialog.
А диалог это уже не окно? )
Quote (kassiop)
Пример (непрактичный): 1) запускаем MS Word, 2) нажимаем Открыть 3) выделяем несколько файлов Word (c помощью Shift, Ctrl +MouseClick, Ctrl+A ) - они появляются в строке "Имя файла" через пробел. 4) Нажимаем OK - открываются сразу несолько файлов.
Какая версия Офиса? Не проще открывать файлы кнопкой безо всяких мучаний буфера?:
Code
TOTALCMD#BAR#DATA "<Путь к MSWord.exe>" /q /t %P%S "<Путь к MSWord.exe>" Открыть файлы в MSWord
Quote (kassiop)
1) создают временный файл
И что? Это миллисекунды. Один кадр из секунды за это время сменится.)
Quote (kassiop)
2) потом нужно нажимать Ctrl+C, Esc.
Зачем это делать, если всё добавляется в параметры через цикл и запускается опять же без троганий буфера и лишних манипуляций.
Quote (kassiop)
Таким образом можно сформировать строку параметров для запуска програмы в консоли, например, при интерактивной админской работе в консоли.
Та же история с созданием кнопки (cmd /k + команда + параметры). Ничего сложного. Буфер не нужен.
Quote (kassiop)
Зачем вам тогда меня критиковать с ограничениями коммандной строки, если они общие?
Я не критикую, я выясняю задачу и подсказываю, как лучше. Раз ограничения общие, то какой смысл в создании такого скрипта, если всё решается стандартными вещами? В этом и вопрос.
Дата: Вторник, 24.01.2012, 01:24 | Сообщение # 149
Лейтенант
Зареген: 22.01.2012
Всего сообщений: 10
Quote (Flasher)
диалог это уже не окно
Не надо ерничать, вы так запутаете третьего читателя окончательно, имеется в виду операции именно Open (File) Dialog
2. Office 2007, в других то же самое.
Более практичный пример - добавление нескольких Вложений-Attachment в Outlook за раз.
3. Тут другой паттерн использования: В виде девиза: Не полная автоматизация: быстро жестко сделать конкретно что-то. А воспомогательность при интерактивной (не предопределенной заранее) работе.
В вашем случае: дополнительная команда на каждое приложение (если часто использовать то так и нужно делать)
Что бы не настраивать на каждую прогу, а потом оно ненужное не валялось - вешается этот скрипт на клавишу. После cm_CopyXXXFileNames. Юзер решает нужно ли ему строка - если да - нажимает клавишу скрипта. В ворд все равно нужно переключаться - вставляет список. То есть автоматизируется не все и жестко а только самая неприятная часть.
то же самое с консолью - там при интерактивной работе не известна еще сама команда (исполняемый файл) имя набирается ручкам - потом как раз наши параметры в строке. Тут еще можно ручками что-то подправить - ключики подобавлять. Да. Потом Ентер - это хуже.
Quote (Flasher)
Это миллисекунды
Считайте это альтернатива без миллисекунд. Вообще то, работать со строками через ... файл - это конечно сурово - но как-то не эстетично .
Я не говорю, что это нельзя решить другими путями (можно и на клавиатуре все понабирать, а можно и нанять секретаря ). Кроме того, аболютно для всех изначально понятно, что для просто частых операций лучше прямое кодирование как у вас с Вордом.
Но у вас тоже кодирование, а не "стандартные вещи" TCmd.
Если "стандартные вещи" - это просто то к чему вы привыкли - то у меня нет аргументов.
Сообщение отредактировал kassiop - Вторник, 24.01.2012, 01:38
Дата: Вторник, 24.01.2012, 02:40 | Сообщение # 150
Полковник
Зареген: 09.12.2011
Всего сообщений: 89
Quote (kassiop)
Не надо ерничать, вы так запутаете третьего читателя окончательно, имеется в виду операции именно Open (File) Dialog
Кто тут ещё ёрничает? Я прекрасно понял о чём речь и назвал диалог окном. Никто никого не путает..
Quote (kassiop)
2. Office 2007, в других то же самое.
Тогда кнопка подходит.
Quote (kassiop)
Более практичный пример - добавление нескольких Вложений-Attachment в Outlook за раз.
Я вообще не пользуюсь Outlook и несколько вложений реализую скриптом (опять же безо всякого буфера). И кстати, Batya уже делал скрипт с вложениеями именно для Outlook.
Quote (kassiop)
В виде девиза: Не полная автоматизация: быстро жестко сделать конкретно что-то. А воспомогательность при интерактивной (не предопределенной заранее) работе.
Ок, я понял ваш дивиз, хорошо, что вы себя в нём нашли. Мой опыт подсказывает, что большинству интересующихся подобными вопросами это не придётся по вкусу.
Quote (kassiop)
В вашем случае: дополнительная команда на каждое приложение (если часто использовать то так и нужно делать)
В моём случае список файлов вообще открывается по Enter в предопределённой программе...
Quote (kassiop)
В ворд все равно нужно переключаться - вставляет список. То есть автоматизируется не все и жестко а только самая неприятная часть.
"Всё равно" при наличии рабочих параметров? Я показал как эта неприятная часть обходится.
Quote (kassiop)
там при интерактивной работе не известна еще сама команда (исполняемый файл) имя набирается ручкам - потом как раз наши параметры в строке.
Сложно представить, что одни и те же параметры нужно передавать разным командам. Можно пример?
Quote (kassiop)
Вообще то, работать со строками через ... файл - это конечно сурово - но как-то не эстетично .
Ну, это вы Гислеру скажите, какой он неэстет. Ничего сурового я в этом не вижу, файл создаётся и после считывания мгновенно удаляется. Пользователь этого процесса не наблюдает (без спецзаходов в Temp), всё прекрасно работает, ничего не нарушается. Существует масса консольных программ, которые предоставляют метод обработки файл-листа, кнопок на эту тему выложено тьма. Никто пока доселе не жаловался.
Quote (kassiop)
Кроме того, аболютно для всех изначально понятно, что для просто частых операций лучше прямое кодирование как у вас с Вордом.
Так таки и для всех? Для знающих.
Quote (kassiop)
Но у вас тоже кодирование, а не "стандартные вещи" TCmd. Если "стандартные вещи" - это просто то к чему вы привыкли - то у меня нет аргументов.
Под стандартными вещами понимается использование параметров, отражённых в справке. К этому привыкли все более менее толковые юзеры TC.
Дата: Вторник, 24.01.2012, 04:08 | Сообщение # 151
Лейтенант
Зареген: 22.01.2012
Всего сообщений: 10
Quote (Flasher)
Я вообще не пользуюсь Outlook
Quote (Flasher)
К этому привыкли все более менее
с этого и нужно было начинать - просто не привыкли к новому.
Quote (Flasher)
большинству интересующихся подобными вопросами это не придётся по вкусу.
Довольно безаппеляционное заявление. тогда понятно, что дело у вас тут во вкусе и в привычках - тогда так и надо было сначала в критике написать, а не аргументировать технически. О таких вещах этом я спорить не буду.
Quote (Flasher)
В моём случае список файлов вообще открывается по Enter в предопределённой программе
Вы до этого места не поняли: мой скрипт вашему не конкурент - у меня для НЕпредопределенной
Вот мой вариант - без записи - Гислер именно тут не причем. Это (именно работа со строками с помощью файла) еще прилично называется "чесать левой пяткой правое ухо" - подумайте, почему об этом говорят с пренебрежением. Если мой скрипт без ошибок то у него преимущество в способе.
Quote (Flasher)
Сложно представить, что одни и те же параметры нужно передавать разным командам. Можно пример?
Я конечно написал про большую универсальность - это честно так и есть. Но конкретно в связи с TCmd - это (как правило, в начальном расчете...) - список файлов Операции - например копирование, архивирование (простые и специальные), изменение прав, ... в общем любая (типа пакетная) обработка.
Прошу, про такие "привычки" мне не нужно больше говорить. Это для меня не аргумент.
Я написал скрипты для себя и решил поделиться с другими (вынести на обсуждение). Точно так же и я пользуюсь выборочно творениями других.
Про альтернативность с приведением имен скриптов я говорил и объяснил различия.
P.S. Кстати у вас в вызове с параметрами <Путь к Ворду> - значит в любую инсталяху такую кнопку не кинешь, нужен сложнее скрипт, и то только для Ворда, а если еще другая прога - нигде не прописанная?
У меня просто смещен баланс - в одних случаях +несколько нажатий клавиш, но более устойчиво в смысле редкого применения.
Сообщение отредактировал kassiop - Вторник, 24.01.2012, 04:41
Дата: Вторник, 24.01.2012, 13:55 | Сообщение # 152
Полковник
Зареген: 09.12.2011
Всего сообщений: 89
Quote (kassiop)
с этого и нужно было начинать - просто не привыкли к новому.
Нам не нужно новое, нам нужно лучше, удобнее, быстрее. И что тут у вас новое? Аутлук?
Quote (kassiop)
Довольно безаппеляционное заявление. тогда понятно, что дело у вас тут во вкусе и в привычках - тогда так и надо было сначала в критике написать, а не аргументировать технически.
Во-первых, цитируя, не надо вырывать из контекста. Мой опыт общения и наблюдения вы решили не учитывать. А он в отношении ТС побогаче чем у многих будет, Андрей не даст соврать. Вкусы и привычки вы сюда приписали не в тему совершенно. Аргументировать технически по несколько раз - это не ко мне..
Quote (kassiop)
Вы до этого места не поняли: мой скрипт вашему не конкурент - у меня для НЕ предопределенной
Какому моему? Где я там про скрипт писал?
Quote (kassiop)
Вот мой вариант - без записи - Гислер именно тут не причем. Это (именно работа со строками с помощью файла) еще прилично называется "чесать левой пяткой правое ухо" - подумайте, почему об этом говорят с пренебрежением. Если мой скрипт без ошибок то у него преимущество в способе.
Гислер тут при чём, потому что параметры он добавлял по понятным (увы, не всем, как оказалось) причинам. Тут слово "если" очень кстати упомянуто. Не знаю, что там с вашим способом, а с %L и т.п. никаких проблем я не имею и не имел. Как раз таки использоваие буфера всегда считалось костылём.
Quote (kassiop)
Я конечно написал про большую универсальность - это честно так и есть. Но конкретно в связи с TCmd - это (как правило, в начальном расчете...) - список файлов Операции - например копирование, архивирование (простые и специальные), изменение прав, ... в общем любая (типа пакетная) обработка.
Это все? Один едиснтвенный параметр - список файлов (%S)? Если это так, то псевдонимы в помощь.
Quote (kassiop)
Кстати у вас в вызове с параметрами <Путь к Ворду> - значит в любую инсталяху такую кнопку не кинешь, нужен сложнее скрипт, и то только для Ворда, а если еще другая прога - нигде не прописанная?
Вы в синтаксисе кнопок разбираетесь вообще? Путь к Ворду прописан для полей "Команда" и "Файл значка". И при чём тут инсталляха? С каких пор из какой-то "инсталляхи" нужно открывать выделенные файлы панели ТС в каком-то приложении?
Quote (kassiop)
Прошу, про такие "привычки" мне не нужно больше говорить. Это для меня не аргумент.
Честно говоря у меня вообще пропало желание про что-либо вам говорить, вы как-то неадекватно на обычные вопросы и предложения реагируете.
Дата: Вторник, 24.01.2012, 14:23 | Сообщение # 153
Лейтенант
Зареген: 22.01.2012
Всего сообщений: 10
Quote (Flasher)
нам нужно лучше, удобнее, быстрее
Я в последний раз раз повторю: писал для себя не на лично ваш заказ или оценку вкуса. Идентичность другим способам ИМХО не доказана есть различия.
Quote (Flasher)
Где я там про скрипт писал?
Писали в более ранних сообщениях про скрипты "аналоги", вообще я имел в виду любой предложенный вами способ "вашему способу" имелось в виду. про псевдонимы - что то не понял - это em_? - можно маленький пример
инсталляха - имелось в виду сборка TC в процессе работы без доп настроек. Может нужно было сказать развернктая сборка или просто сборка.
Quote (Flasher)
у меня вообще пропало желание про что-либо вам говорить
У меня тоже. По предмету спора - я понял что вам не понравились скрипты (в основном способ использования). Это -1 (может -2 из-за поверим на слово "опыта") к оценке, но обобщать за всех, при том же только на основе привычек и вкуса - не нужно, Кстати, если очень не нравится - просто не отвечайте и сокращайте количество вопросов - на них мне приходится отвечать и это все растягивает.
Сообщение отредактировал kassiop - Вторник, 24.01.2012, 14:26
Дата: Вторник, 24.01.2012, 14:54 | Сообщение # 154
Полковник
Зареген: 09.12.2011
Всего сообщений: 89
Quote (kassiop)
Я в последний раз раз повторю: писал для себя не на лично ваш заказ или оценку вкуса.
Тогда вы ошиблись адресом. Нужно было записать это в блокнот, а не на публичном форуме, где каждый имеет право высказать своё мнение.
Quote (kassiop)
про псевдонимы - что то не понял - это em_? - можно маленький пример
Я у вас тоже пример просил. Так и не увидел.
Quote (kassiop)
инсталляха - имелось в виду сборка TC в процессе работы без доп настроек. Может нужно было сказать развернктая сборка или просто сборка.
Ничего не понял. Любая сборка уже имеет дополнительне настройки. В любом случае, как бы там ни было, указанная кнопка к настройкам ТС не имеет ни малейшего отношения.
Quote (kassiop)
но обобщать за всех, при том же только на основе привычек и вкуса - не нужно
Как, вот так?:
Quote (kassiop)
Кроме того, аболютно для всех изначально понятно
Да, согласен. (При том, что я как раз не о всех писал, а об определённой прослойке).
Quote (kassiop)
Кстати, если очень не нравится - просто не отвечайте и сокращайте количество вопросов - на них мне приходится отвечать и это все растягивает.
Вас никто не принуждает, можете не отвечать. Вопросов было всего два в одном контексте. Вы ответили не только на них.
Сообщение отредактировал Flasher - Вторник, 24.01.2012, 14:56
Дата: Вторник, 24.01.2012, 16:32 | Сообщение # 155
Лейтенант
Зареген: 22.01.2012
Всего сообщений: 10
Я уже говорил для чего выложил: для оценки реализации и действительно – поиска альтенатив (это обсуждаемо). И пока своя эффективная ниша у скриптов есть по сравнению с подобными по результатам общения с вами.
Для себя – под этим я имел в виду[u] для своего использования[/u] – это контрагрумент на предъявы что они никому не нужны – я пользуюсь, а значит могут понадобится и другим. К тому же они более общие чем альтернативы.
Я во втором посте привел сценарий использования скриптов и оценкой +и – по сравнению с другими способами.
Вы привели пример команды.
Я указал на необходимость настройки путей в вашем случае при перенесении ТС на произольный комп (это про инсталляху, сборку). В моем случае такого нет.
Потом вы сказали про псевдоним – мне не понятно без примера в чем преимущества (может я по другому до конца это представляю)
Повоторите про пример ко мне. На свой скрипт я привел пример.
Кстати, по вопросы и примеры:
Quote (Flasher)
Вопросов было всего два в одном контексте.
В вашем предпоследнем посте, к которому относится реплика не 2 а 9 знаков «?».И самое главное они относятся уже к ответам на ваши же вопросы. Как после таких штучек с вами дискутировать? Вообще тенденция – от поста к посту у вас растет клоичество воросов, и просьб. Может хватит троллить? Давайте беречь время друг друга, запрашивать только то что необходимо, и не бросаться эмоциями. Ответ на вопрос, пример это тоже отдолжение. Здесь кстати форум а прайм тайм меня не пускает – потерял несколько пространственных постов – восстановил может хуже.
Может, нумеруйте вопросы на которые нужно ответить. В этом посту два моих ? - риторические - можно не отвечать.
Про абсолютно – это попытка найти общие точки обсуждения, частично согласиться с вами - и, кстати попытка удачная Полная цитата:
Quote (kassiop)
Кроме того, аболютно для всех изначально понятно, что для просто частых операций лучше прямое кодирование как у вас с Вордом.
Или вы не согласны – скажите – разберем, (но уже с другим диагнозом.) У вас обобщения на «всех» - постоянны. И я против них и предлагаю отказаться от таких аргументов, как неконструктивных. Есть: вы, я способы, ТС – давайте этим пока ограничимся.
Хорошо, что про запись в файл как-то все затихло.
От себя скажу - я не имею претензий к вашим альтернативам – в при частом использовании они хороши.
Сообщение отредактировал kassiop - Вторник, 24.01.2012, 16:53
Дата: Вторник, 24.01.2012, 17:16 | Сообщение # 156
Полковник
Зареген: 09.12.2011
Всего сообщений: 89
Quote (kassiop)
Для себя – под этим я имел в виду для своего использования – это контрагрумент на предъявы что они никому не нужны – я пользуюсь, а значит могут понадобится и другим
Это не контраргумент, потому что я не писал, что они никому не нужны. Очередное передёргивание.
Quote (kassiop)
Я указал на необходимость настройки путей в вашем случае при перенесении ТС на произольный комп (это про инсталляху, сборку). В моем случае такого нет.
Вы привели в качестве примера программу, которую чаще всего устанавливают отдельно от сборки (не считая PE и т.п.). Я пользуюсь в большей части портабельным софтом и мне не требуется делать то, что вы делаете с буфером. Таких как я довольно много, хотя бы на этом форуме (Andrey_A, НАЗАРЕТ, ask-rus и т.д.).
Quote (kassiop)
В вашем предпоследнем посте, к которому относится реплика не 2 а 9 знаков «?».И самое главное они относятся уже к ответам на ваши же вопросы.
Нужно уметь различать вопросы, на которые требуется ответ и риторические вопросы. По-существу, вопросов было два.
Quote (kassiop)
Вообще тенденция – от поста к посту у вас растет клоичество воросов, и просьб. Может хватит троллить
Троллингом занялись вы, отойдя от конструктивного диалога. Я ещё раз повторяю, вы можете ни на что не отвечать. Тенденция тут напрашивается обычная - закончить разговор...
Quote (kassiop)
Давайте беречь время друг друга, запрашивать только то что необходимо, и не бросаться эмоциями.
Так это у вас эмоции, судя по смайлам, выделениям жирному шрифтом и едким словечкам. Я как раз спокоен как лев...
Quote (kassiop)
Или вы не согласны – скажите – разберем
Включаем внимательность, я отвечал на эту реплику.
Quote (kassiop)
У вас обобщения на «всех» - постоянны.
Сами на те же грабли. "Постоянны" - это уже обобщение. Я только единожны употребил это слово в обобщённом смысле, причём в определённом контексте. Отсюда вывод - вы не просто троллите, вы нагло лжёте.
Quote (kassiop)
Есть: вы, я способы, ТС – давайте этим пока ограничимся.
Давайте.
Сообщение отредактировал Flasher - Вторник, 24.01.2012, 17:46
Дата: Вторник, 24.01.2012, 18:19 | Сообщение # 157
Лейтенант
Зареген: 22.01.2012
Всего сообщений: 10
Quote (Flasher)
Таких как я довольно много, хотя бы на этом форуме (Andrey_A, НАЗАРЕТ, ask-rus и т.д.).
это игнор - объяснял почему. (Как шутка - не пугайте меня своей шоблой )
Quote (Flasher)
я не писал, что они никому не нужны
вот точная цитата
Quote (Flasher)
Нам не нужно новое, нам нужно лучше, удобнее, быстрее. И что тут у вас новое? Аутлук?
Quote (Flasher)
Нужно уметь различать вопросы, на которые требуется ответ и риторические вопросы.
Предлагаю второй раз уйти от этого - запутывает (или смайлик на риторику или номер на важный вопрос или как0то различать)
Ну и вопросы то приведите - раз мы запутались. (или запас желчи на пост израсходован? - риторика саркастическая шутка)
Ну "не отвечать" - не вежливо, таким предложением вы косвенно указываете, что вам вопрос задать важнее чем ответ получить - очень не хотелось этого говорить но это признак тролля (тут очень хотелось бы ошибиться).
По моему "абсолютно" - зачем тогда повторно недовольно меня цитировать - мне не понятно.
Я понял что в некоторых случаях отвлеченные примеры - помогают, но в нашей дисуссии - это повод для претензий.
Про обобщения - в основном я имел в виду больше "за других расписываться" как крайнем вашем посту. к логическим и техническим это не относится, предлагаю применять.
Quote (Flasher)
Давайте.
И все? - тогда может на этом и остановимся про скрипты.
Вы привели в качестве примера программу, которую чаще всего устанавливают отдельно от сборки
Это про Ворд, Аутлук? - так вы сами просили привести пример. Конечно отдельно от сборки - в сборке пути известны.
Даже в Макинтоше так жестко не пытаются впихнуть "все в одно" от одного издателя как в ваших (не лично) сборках. И я только сейчас понял почему там так много всего - в том числе из за необходимости вызова но известным путям (могу ошибаться - просто рефлективное замечание).
Не требуется вам такого скрипта (я бы вообще промолчал) - вы мне сообщили - я отметил это.
Сообщение отредактировал kassiop - Вторник, 24.01.2012, 18:00
Дата: Вторник, 24.01.2012, 18:28 | Сообщение # 158
Полковник
Зареген: 09.12.2011
Всего сообщений: 89
Quote (kassiop)
Как шутка - не пугайте меня своей шоблой
Пару здешних модераторов, один из которых является автором топика, назвать шоблой - это какую надо наглость иметь, если не сказать - глупость.
Quote (kassiop)
вот точная цитата
"Нам", исходя из предыдущего контекста, объясняет о ком речь. "Никому" тут не к месту.
Quote (kassiop)
Ну и вопросы то приведите - раз мы запутались. (или запас желчи на пост израсходован?
Я всё жду, когда он у вас закончится. Вопросы приводить не буду, не вижу смысла в метаниях.
Quote (kassiop)
Ну "не отвечать" - не вежливо, таким предложением вы косвенно указываете, что вам вопрос задать важнее чем ответ получить - очень не хотелось этого говорить но это признак тролля (тут очень хотелось бы ошибиться).
Признак тролля - это поддёргивания собеседника никому ненужным скользким пустословием, что у вас замечательно сейчас получается. Вопросов я к вам больше не имею, как нетрудно заметить. На предыдущие ответы были получены.
Остальную кашу не комментирую. По хорошему неплохо было бы цитировать то, на что даются комментарии. Уже в каком посту замечаю такой небрежный подход к диалогу. У собеседника нет желания искать и думать, в отношении каких реплик даются скомканные ответы.
Дата: Вторник, 24.01.2012, 18:46 | Сообщение # 159
Лейтенант
Зареген: 22.01.2012
Всего сообщений: 10
To Flasher 1. Ну вы совершенно не пытаетесь понять оппонента. Замените мысленно "Никому" на "никому из вас" (не нужно) и будет то что я и вы имели в виду.
2. Я цитирую - у вас в теге все равно точно не указывается откуда-когда цитата - так что это все равно что цитата кавычками. В данном случае способ цитаты не имеет значения так как все относится к крайнему посту - это не месяц назад в другой ветке.
3. Я выложил скрипты - это никак не "пустословие"
Ко всем (Flasher может пока немного отдохнуть, если хочет) Пришла идея скрипта - но сам писать не буду - таким не пользуюсь но у других user видел немало дубликатов не искал - названия разные - тут надо опыт
стоит ли выкладывать текст?
но заранее говорю к обсуждениям подобным предыдущему - не готов. или ничего или нет или без обвинений
P.S. Идею отослал в личку Оперделенным людям. Чтоб другие ничем не обмазали.
Сообщение отредактировал kassiop - Вторник, 24.01.2012, 20:13
Дата: Вторник, 24.01.2012, 19:16 | Сообщение # 160
Полковник
Зареген: 09.12.2011
Всего сообщений: 89
Quote (kassiop)
1. Ну вы совершенно не пытаетесь понять оппонента.
Вы сами вызвались быть оппонентом. Я вас сперва представлял как нормального собеседника. Понимать враждебные настроения не по мою душу.
Quote (kassiop)
Замените мысленно "Никому" на "никому из вас" (не нужно) и будет то что я и вы имели в виду.
Уже не будет. Т.к. фактически идёт указание на тех, о ком речь, что не есть обобщение.
Quote (kassiop)
Я цитирую - у вас в теге все равно точно не указывается откуда-когда цитата - так что это все равно что цитата кавычками. В данном случае способ цитаты не имеет значения так как все относится к крайнему посту - это не месяц назад в другой ветке.
Ошибочное мнение. "Откуда и когда" - это бессмыслица, когда требуется "на что и к чему". Цитаты с кавычками ещё куда ни шли, а не отсутсвие цитат как таковое. Если же говорить о наглядности, то цитирование именно в bb-коде куда уместнее. Следует либо писать вообще без цитат с общим посылом, либо цитировать всё подряд, иначе воспринимается это как сумбур, пережёвывать который нет ни времени, ни желания.
Quote (kassiop)
Я выложил скрипты - это никак не "пустословие"
И поэтому что? Вы автоматически снимаете с себя лик тролля? Я могу (в прямом смысле) тут штук 70 скриптов в раз выложить, это меня как собеседника нисколько не оправдает. Кстати, тут и мои скрипты есть в коллекции, если вы ещё не заметили.