Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Копирование базовых имён выбранных объектов в буфер обмена 
Author Message
Monarch-LFV



PostPosted: Sun Oct 12, 2025 12:11    Post subject: Reply with quote

Подниму тему, просто столкнулся с проблемой, что предложенная в соседней ветке команда копирования имен папок и файлов "lists=%Z%UL||##path<4>" имеет ряд недостатков:
1. Очень долго работает когда количество файлов и папок огромно (тест проводил на 50 000 файлов и 4000 папок, операция длится где-то секунд 30)
2. Неправильно обрабатывает файлы с несколькими точками в конце
    "имя файла 12.10.2025 г..txt" => "имя файла 12.10.2025 г" (одна точка теряется)
3. неправильно отрабатывает имена начинающиеся с точки
    например файл ".gitignore" => "" (ничего, так как посчитал имя расширением).
Посему решил написать скрипт VBS, и вообще отойти от понятия файлов и папок, а рассматривать и обрабатывать имена как единый текстовый массив:
 Copy_Filename_And_Foldername.vbs

По итогу:
1. Время копирования имен 50 000 файлов и 4000 папок = 0,17 сек
2. точки в конце имен файлов сохраняются
3. Имена файлов, начинающиеся с точки сохраняются.
4. Плюс закомментированные строки в середине скрипта на случай, если потребуется некая обработка (замена) чего-либо.

Вдруг кому пригодится Very Happy
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group