Добавление выделенных файлов в список исключений
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Хотелось бы заполучить вариант скрипта, где реализованы:
1. Возможность добавлять в список исключений объекты с путями.
2. Возможность обработки одного выделенного объекта.
То есть предусмотреть и все остальные варианты, требующие открытия соответствующего диалога.
Если в процессе выполнения скрипта получится выбирать режим добавления (с путями или без них), было бы совсем замечательно.
1. Возможность добавлять в список исключений объекты с путями.
2. Возможность обработки одного выделенного объекта.
То есть предусмотреть и все остальные варианты, требующие открытия соответствующего диалога.
Если в процессе выполнения скрипта получится выбирать режим добавления (с путями или без них), было бы совсем замечательно.
Последний раз редактировалось Avada Сб сен 21, 2013 11:14, всего редактировалось 1 раз.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Flasher
1. Я там кое-что уточнил ещё. Хотелось бы одним скриптом, а не двумя разными. Но если это сложно, то ладно.
2. Думал об этом. Но, наверное, лучше только выделенного. Как в самом TC принято. А то выделим одно, курсор поставим в другое место, будет путаница...
1. Я там кое-что уточнил ещё. Хотелось бы одним скриптом, а не двумя разными. Но если это сложно, то ладно.
2. Думал об этом. Но, наверное, лучше только выделенного. Как в самом TC принято. А то выделим одно, курсор поставим в другое место, будет путаница...
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Avada
Зачем двумя-то? Я лишь написал о замене параметра в кнопке.
2. Гм.. Как раз под выбранным подразумевается отсутствие выделения с постановкой курсора. Когда выделен хотя бы один объект, но курсор установлен в другом месте, то файл под курсором выбранным не считается. Так и принято в ТС.
Т.е. я так понимаю, что суть в появлении окна выбора?
Простое окно (да/нет) устроит? Или нужно, чтобы на каждой кнопке был написано предназначение?
Зачем двумя-то? Я лишь написал о замене параметра в кнопке.
2. Гм.. Как раз под выбранным подразумевается отсутствие выделения с постановкой курсора. Когда выделен хотя бы один объект, но курсор установлен в другом месте, то файл под курсором выбранным не считается. Так и принято в ТС.
Т.е. я так понимаю, что суть в появлении окна выбора?
Простое окно (да/нет) устроит? Или нужно, чтобы на каждой кнопке был написано предназначение?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Avada
[cut="Так:"][/cut]
[cut="Так:"]
Код: Выделить всё
'=================================================================================
' Добавление имён выбранных элементов в список исключений TC с активацией фильтра
' Параметры: %L "<путь к файлу-списку>"
' Пример: %L "%%COMMANDER_PATH%%\tcignore.txt"
'============================ Путь к утилите TCFS2 ===============================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'=================================================================================
Dim WSH : Set WSH = CreateObject("WScript.Shell")
IL = WSH.ExpandEnvironmentStrings(WScript.Arguments(1))
NL = vbNewLine : Title = "Добавление имён в список исключений"
Msg = MsgBox("Добавлять полные пути" & NL & "к именам выбранных элементов?",_
4163, Title) : If Msg < 6 Then Quit
With CreateObject("Scripting.FileSystemObject")
All = .OpenTextFile(WScript.Arguments(0), 1).ReadAll : Sps = All
If Msg = 7 Then
For Each F in Split(All, NL) : S = S & NL & .GetFileName(F) : Next
Sps = Mid(S, 3)
End If : Set List = .OpenTextFile(IL, 8, True)
End With : List.Write Sps : List.Close
WSH.Run TCFS2 & " /ef ""tcm(2922) tcm(2922), eval(tcini(Configuration, " &_
"IgnoreListFileEnabled, #)) | tcm(2922)""" : Quit
Sub Quit : Set WSH = Nothing : WScript.Quit : End Sub
Последний раз редактировалось Flasher Сб сен 21, 2013 17:46, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Несколько файлов с путями — работает правильно.
Несколько файлов без путей — имя первого из файлов прицепляется в хвост последней имевшейся в списке исключений строки.
Один файл под курсором без пути — аналогично.
Один выделенный файл с путём — аналогично.
Один файл под курсором с путём — работает правильно.
Один выделенный файл без пути — работает правильно.
(Кстати, заголовок "Добавление имён в список исключений" полностью не отображается. У себя убрал "имён", чтобы покороче вышло.)
Несколько файлов с путями — работает правильно.
Несколько файлов без путей — имя первого из файлов прицепляется в хвост последней имевшейся в списке исключений строки.
Один файл под курсором без пути — аналогично.
Один выделенный файл с путём — аналогично.
Один файл под курсором с путём — работает правильно.
Один выделенный файл без пути — работает правильно.
(Кстати, заголовок "Добавление имён в список исключений" полностью не отображается. У себя убрал "имён", чтобы покороче вышло.)
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Не может такого быть. Это идентичные условия.Avada писал(а):Один выделенный файл с путём — аналогично.
Один файл под курсором с путём — работает правильно.
Я перед выкладкой тестировал: никаких проблем с хвостом не наблюдалось.
Версия винды, TC и интерпретатора какие?
Заголовок не влезает из-за использования шкур. Убери пробелы перед словом "Добавление".
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Система и интерпретатор тут абсолютно ни при чём. Я понял, в чём дело. При многократной ручной чистке списка исключений последняя пустая строка то не удалялась (и тогда всё было нормально), то удалялась (курсор помещался в конец последней имеющейся строки, и получалось присоединение). При стандартном добавлении в список для TC тут нет никакой разницы. А для скрипта — есть.
Кстати, имею предложение по содержательной части запроса. Лучше без всяких отдельных строк с расшифровкой "нет" и "да" просто вывести вопрос: "Добавить всё выбранное с путями?" Кнопка" "Да" — с путями, "Нет" — без путей. Именно в таком порядке идут кнопки в диалоге настроек, так что всё логично и понятно.
С заголовком понятно. Убрал пробелы: впритык, но влезает.
Система и интерпретатор тут абсолютно ни при чём. Я понял, в чём дело. При многократной ручной чистке списка исключений последняя пустая строка то не удалялась (и тогда всё было нормально), то удалялась (курсор помещался в конец последней имеющейся строки, и получалось присоединение). При стандартном добавлении в список для TC тут нет никакой разницы. А для скрипта — есть.
Кстати, имею предложение по содержательной части запроса. Лучше без всяких отдельных строк с расшифровкой "нет" и "да" просто вывести вопрос: "Добавить всё выбранное с путями?" Кнопка" "Да" — с путями, "Нет" — без путей. Именно в таком порядке идут кнопки в диалоге настроек, так что всё логично и понятно.
С заголовком понятно. Убрал пробелы: впритык, но влезает.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Через страницу настроек ТС или редактор?Avada писал(а):При многократной ручной чистке списка исключений
Собственно, что теперь по этому вопросу? Какие предлагаются коррективы?
Я с самого начала думал, как лучше. Написал, потом не стал исправлять (мол, какая разница, коротко и ясно).Avada писал(а):Лучше без всяких отдельных строк с расшифровкой "нет" и "да" просто вывести вопрос: "Добавить всё выбранное с путями?"
Тогда, может, "Добавлять полный путь к именам выбранных элементов?" ?
Если же писать как ты предлагаешь, то по логике кн. "Нет" ничем не будет отличаться от кн. "Отмена".
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Через страницу настроек.Flasher писал(а):Через страницу настроек ТС или редактор?
А вот это не знаю. Лично я просто буду знать, что такое бывает и надо это учитывать.Flasher писал(а):Собственно, что теперь по этому вопросу? Какие предлагаются коррективы?
Да, вполне.Flasher писал(а):Тогда, может, "Добавлять полный путь к именам выбранных элементов?" ?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Единственный способ с правильным форматированием - проверять последнюю строку в файле игнора на предмет наличия перевода строки. К сожалению в vbs нет возможности считывать строки с конца, а построчное считывание с начала замедлит скорость выполнения (чего мне лично не хотелось бы).Avada писал(а):А вот это не знаю.
Когда я писал первый вариант скрипта, то я понимал, что ручное редактирование уже утеряет свою актуальность, ибо кроме как для тестов не потребуется.
Есть ещё грязный вариант, в котором при наличии перевода будут формироваться пустые строки: в 17-ой строке убрать красное: Sps = Mid(S, 3) либо добавить ...WriteLine... в 19-ой.
Текст сообщения поправил.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Flasher
Да, так явно лучше.
Пока с переводом строк заморачиваться не буду, потом попробую.
А насчёт неактуальности ручного редактирования (того, которое в диалоге) — всякие ситуации бывают. И не только связанные с тестированием. Например, чистить по прошествии времени список от ненужных больше строк мне приходилось неоднократно.
Да, так явно лучше.
Пока с переводом строк заморачиваться не буду, потом попробую.
А насчёт неактуальности ручного редактирования (того, которое в диалоге) — всякие ситуации бывают. И не только связанные с тестированием. Например, чистить по прошествии времени список от ненужных больше строк мне приходилось неоднократно.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Avada
Попробуй этот вариант. Помимо решения обсуждаемой проблемы добавлена поддержка имён с Юникодом.
Переводов строк в конце может быть много, останется всегда один.
Попробуй этот вариант. Помимо решения обсуждаемой проблемы добавлена поддержка имён с Юникодом.
Переводов строк в конце может быть много, останется всегда один.
Последний раз редактировалось Flasher Вт мар 31, 2015 00:24, всего редактировалось 2 раза.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.