Total Commander копирует имена в буфер обмена без расширения

Обновлено: 21.11.2024

CopyFilenames — это расширение проводника Windows. Его нельзя запустить как отдельное приложение. После установки CopyFilenames щелкните правой кнопкой мыши один или несколько файлов или папок в проводнике Windows, и вы увидите дополнительные команды, добавленные CopyFilenames.

Для чего это?

В Windows нет встроенного способа копирования имени файла или списка папок в буфер обмена. Для одного файла вы можете использовать Файл > Переименовать, CTRL+C, затем ESC, чтобы скопировать имя файла в буфер обмена, но это довольно утомительно, если вам нужно сделать это часто или для большого количества файлов.

CopyFilenames приходит на помощь! Это добавляет дополнительную команду меню в контекстное меню проводника Windows (это меню, которое появляется, когда вы щелкаете файл правой кнопкой мыши). Эта команда позволяет скопировать имя файла за одну операцию.

CopyFilenames также можно использовать для копирования множества имен файлов за один раз. По умолчанию имена файлов копируются по одному в строке.

Копирование полных путей

CopyFilenames также упрощает копирование полного пути к файлу. Если удерживать нажатой клавишу SHIFT при выборе команды «Копировать имена файлов», будет скопирован полный путь к файлу, а не только имя файла. Затем этот путь можно вставить в любое приложение, в котором есть поле для пути к файлу, или в панель открытия файла.

Это может реально сэкономить время, если у вас уже открыта нужная папка в проводнике Windows, поскольку вам больше не нужно переходить к той же папке в другом приложении, чтобы использовать файл в этой папке!

Включая атрибуты файла

Это не просто останавливаться на достигнутом — вы также можете указать размер файла или дату последнего изменения, а не просто имя файла. Чтобы выбрать эти параметры, удерживайте нажатой клавишу CTRL, выбирая «Копировать имена файлов», чтобы открыть панель параметров. Если вы выбрали вариант копирования полного пути, вы также можете выбрать удвоение обратной косой черты (программисты оценят ценность этого) или вместо этого использовать прямую косую черту. Существует также возможность заключать имена в одинарные или двойные кавычки.

Эти дополнительные атрибуты отделены табуляцией от имени файла, поэтому их можно, например, легко вставить в программу для работы с электронными таблицами, такую ​​как Excel, чтобы имена файлов были в одном столбце, а размеры — в другом.

Замена одного файла другим

Помимо возможности копировать имена файлов, эта утилита также добавляет две другие команды, которые появляются при необходимости. Эти команды можно использовать для замены одного файла другим. Это бесценно в ситуации, когда у вас есть два файла в папке, и вы хотите удалить один, а другой переименовать в имя файла, который был удален.

  • Щелкните правой кнопкой мыши файл, чтобы удалить его.
  • Скопировать имя файла и удалить
  • Щелкните правой кнопкой мыши другой файл.
  • Вставить имя файла

Все команды CopyFilenames одинаково хорошо работают как с папками, так и с файлами.

Функции CopyFilenames

  • Копирует одно или несколько имен файлов или папок в виде текста в буфер обмена Windows.
  • Возможность добавления размера файла
  • Возможность добавления даты/времени файла
  • Возможность добавления полного пути к файлу
  • Возможность дублировать обратную косую черту или использовать прямую косую черту, если добавлен полный путь.
  • Возможность заключать имена файлов в одинарные или двойные кавычки.
  • Возможность разделения нескольких имен файлов с помощью новой строки, пробела, табуляции или запятой.
  • Команда для переименования файла с текстом из буфера обмена (Paste Filename)
  • Команда для копирования имени файла и удаления файла за одну операцию

Издания

CopyFilenames Pro — это альтернативная версия CopyFilenames с дополнительными функциями.

Политика конфиденциальности | ExtraBit Software Ltd., Пеннард Роуд, Суонси SA3 3JG, Великобритания | Copyright © 2022 ExtraBit Software Ltd., Все права защищены

Скопировать имя файла без расширения в буфер обмена

Скопировать имя файла без расширения в буфер обмена

Sir_SiLvA Power Member
Сообщений: 2790 Присоединился: 06 мая 2003 г., 11:46 UTC

Пока у нас нет cmd для этого, попробуйте следующее:
Поместите курсор на файл, нажмите F7, нажмите CTRL+C, нажмите Escape — Готово

karlchen Power Member
Сообщений: 4576 Присоединился: 06 февраля 2003 г., 22:23 UTC Местоположение: Германия

Не знаю, расширит ли Кристиан Гислер существующий список команд копировать имена в буфер обмена.

Тем не менее, копирование имени файла без расширения может быть достигнуто с помощью lst2clip от Lefteous.

С уважением,
Карл

Balderstrom Power Member
Сообщений: 2148 Присоединился: 11 октября 2005 г., 10:10 UTC

Пример использования:___ написал: Создайте кнопку или горячую клавишу в TC,
Команда: C:\Program Files\AutoHotkey\AutoHotkey.exe "C:\Users\FOOBAR\Documents\AutoHotkey\TC_CopyFileNamesOnly.ahk"

petermad Power Member
Сообщений: 11043 Присоединился: 05 февраля 2003 г., 20:24 UTC Местоположение: Valsted, Дания Контактное лицо:

Balderstrom Power Member
Сообщений: 2148 Присоединился: 11 октября 2005 г., 10:10 UTC

____ Конфигурация | Operation ____ написал: [ X ] При переименовании выбирать только имя файла (не расширение)

Тогда какой бы ни была ваша горячая клавиша для переименования на месте, моя
F2 + Ctrl+C

Конечно, сценарий AHK будет обрабатывать все выбранные файлы, а не только тот, где находится курсор.

romulous Senior Member
Сообщений: 226 Присоединился: 19.11.2003, 04:10 UTC

karlchen написал: Привет, солидный.
Тем не менее, копирование имени файла без расширения может быть достигнуто с помощью lst2clip от Lefteous.

Это работает, но жаль, что lst2clip копирует CRLF вместе с именем файла, и утилита не может остановить это поведение. Это означает, что когда вы вставляете имя файла в текстовый документ, вы получаете пустую строку после имени файла и должны удалить ее вручную. Я написал программу AutoIt, чтобы удалить CRLF из данных буфера обмена lst2clip, но глупо использовать две программы (одну для копирования только имени файла и другую, которая работает в фоновом режиме, чтобы удалить символ CRLF из его конца) , в то время как TC мог бы сделать это сам.

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

karlchen Power Member
Сообщений: 4576 Присоединился: 06 февраля 2003 г., 22:23 UTC Местоположение: Германия

Это работает, но жаль, что lst2clip копирует CRLF вместе с именем файла, и утилита не может остановить это поведение.

Ой, правда.
Это, должно быть, ускользнуло от моего внимания, потому что на самом деле чаще всего я заменял lst2clip.exe конструкцией конвейера ( pclip | sed [options] | gclip ), что позволяет мне выполнять больше преобразований, чем lst2clip.exe может работать, и его также можно использовать в Linux/Wine.

Но что касается исходного запроса, то возможность копировать (отмечать) имена файлов без расширения (расширений) может оказаться излишним. (Если вы не используете его и для других конверсий.)

Комбинация клавиш Sir_SiLvA кажется наиболее подходящим решением, потому что она будет работать "из коробки" без необходимости использования каких-либо внешних надстроек.

С уважением,
Карл

Спасибо всем за предложения.
Метод Sir_SiLvA самый простой, но способ Balderstrom можно вызвать одной горячей клавишей, и он работает для всех выбранных файлов.
Посмотрю, к какому привыкну.

romulous Senior Member
Сообщений: 226 Присоединился: 19.11.2003, 04:10 UTC

karlchen написал: Привет, romulous.
Но что касается первоначального запроса, возможность копировать (помечать) имена файлов без расширения (расширений) может быть излишним. (Если вы не используете его и для других конверсий.)

Комбинация клавиш Sir_SiLvA кажется наиболее подходящим решением, потому что она будет работать "из коробки" без использования каких-либо внешних надстроек.

Если вы хотите сделать только одну или две копии, я согласен. Но я делаю это (копирует имена файлов) сотни раз в день, и удаление расширения файла из внутренней копии TC было болезненным - буквально (я даже не пробовал переименовывать, ctrl+c по той причине, что это было бы даже помедленнее). Признаюсь - мои обстоятельства, вероятно, немного странные, и большинству людей эта функция не так нужна, как то, что делаю я.

Мне нравится решение Autohotkey, опубликованное выше, и мне только что пришло в голову спросить, почему, когда я писал программу Autoit для удаления CRLF, я не написал что-то, чтобы сделать саму копию?Ответ был "потому что я не думал об этом" - но теперь мне интересно, смогу ли я на самом деле это сделать (я ничего не имею против Autohotkey, я недавно начал писать сценарии с помощью Autoit, и это сценарии язык знаю - не очень хорошо признаю, но немного знаю).

В любом случае, без возможности скопировать только имя файла в TC, я мог бы углубиться в файл справки Autoit и посмотреть, смогу ли я найти способ сделать это с помощью Autoit.

Balderstrom Power Member
Сообщений: 2148 Присоединился: 11 октября 2005 г., 10:10 UTC

Вот оптимизированный сценарий: если выбран один файл, УДАЛИТЕ CRLF.
Кроме того, исправлено указанное выше: основной цикл, скорее всего, должен иметь ", `r"

Кроме того, если вы планируете использовать его очень часто, вам следует скомпилировать его с включенным в AHK Ahk2Exe.exe или включить его в свой основной постоянный скрипт AHK с помощью горячей клавиши AHK вместо горячей клавиши TC.

@romulus
Я бы, скорее всего, использовал AutoIT, если бы впервые столкнулся с ним, так как он больше похож на код. Хотя, хотя я знаю C и другие языки --- когда я смотрю на тот же сценарий в AutoIT и AHK, я нахожу, что AHK легче понять, что он делает --- даже со всеми особенностями AHK. И версия Lexikos AHK_L была значительно улучшена по сравнению с базовым кодом Криса, а также полностью совместима с Unicode.

EDIT1: Fix: "else ClipBoard:=outList"
Как в посте ниже.
EDIT2: несколько файлов, разделенных пробелом --- если параметр MULTIPLE_SPACER:=TRUE

romulous Senior Member
Сообщений: 226 Присоединился: 19.11.2003, 04:10 UTC

Спасибо, Бальдерстром. Вместо того, чтобы пытаться воссоздать его в AutoIt, я просто скачал zip-версию Autohotkey, извлек папку Compiler из zip-файла, скопировал ваш код в файл .ahk с помощью текстового редактора, а затем скомпилировал его с помощью утилиты Ahk2exe. в папке компилятора. Теперь у меня есть новая кнопка копирования имени файла, и мне больше не нужно использовать Lst2clip

Редактировать: А, кажется, нашел ошибку. Выделил два файла, нажал кнопку копирования, и скрипт скопировал расширение для обоих файлов. Это нехорошо.

Редактировать: хорошо, множественные выбранные файлы — это то, что ломает скрипт AHK. Выберите один файл за раз, и все в порядке. Что ж, вернемся к Lst2clip (он нормально обрабатывает несколько файлов).

С помощью этого инструмента вы сможете точно определить, как копируются пути.

2. Особенности:

  • Преобразовать локальный путь в сетевой.
  • Расширение файла можно не указывать.
  • Ограничьте глубину пути.
  • Обратная косая черта в конце пути может быть опущена.
  • Вставьте текст перед путем.
  • Добавить текст к пути.
  • Заменить части текста.
  • Используйте любой параметр Total Commander

см. также: параметры раздела и примеры для подробных пояснений.

3. Установка:

Извлеките содержимое архива в каталог по вашему выбору; например: %PROGRAMFILES%\Total Commander\Addons\Lst2Clip\

4. Добавьте пункт меню "Пуск" или кнопку

вход в меню "Пуск":

  1. В меню "Пуск" выберите "Изменить меню Пуск".
  2. Нажмите кнопку "Добавить элемент".
  3. Введите название.
  4. Перейдите к разделу "Установка параметров для определяемой пользователем команды".

Горячие клавиши

Вы также можете определить горячую клавишу, если вам нужно часто использовать команду. Пункт меню «Пуск» должен быть одним из первых десяти пунктов, в противном случае вам придется расширить файл «Totalcmd.inc». Вы должны помнить позицию записей. В следующем примере используется пункт меню «Пуск» на позиции 5.

  1. В меню "Конфигурация" выберите "Параметры".
  2. Выберите вкладку "Разное".
  3. Выберите горячую клавишу.
  4. Выберите cm_usermenu5 в раскрывающемся списке команд. Идентификатор можно изменить в "Totalcmd.inc".
  5. Нажмите маленькую кнопку справа, чтобы применить горячую клавишу.

Файл "Totalcmd.inc" находится в каталоге Total Commander.

Кнопка на панели:

  1. В меню "Конфигурация" выберите "Панель кнопок" (или щелкните правой кнопкой мыши неиспользуемый пробел на панели кнопок).
  2. Нажмите кнопку "Добавить".
  3. Перейдите к разделу "Установка параметров для определяемой пользователем команды".

В качестве альтернативы вы можете перетащить файл "Lst2Clip.exe" на панель кнопок.

5. Задайте параметры для определяемой пользователем команды

Вы должны ввести допустимые значения в поля "Команда" и "Параметры". Вам не нужно заботиться о других полях. Самый простой пример: это абсолютно похоже на cm_CopyFullNamesToClip. В поля необходимо ввести следующие значения:

Вы должны адаптировать путь к своему собственному. В общем случае поле «Команда» включает в себя путь к программе и необязательные параметры.
Поле "Параметры" включает файл списка. Этот параметр является обязательным.

6. Обзор всех возможных параметров

UNC-путь

/U преобразует пути подключенных дисков в сетевые пути UNC. Эти параметры необходимы только в том случае, если сетевой путь назначен локальному диску. Если вы обращаетесь к сетевому пути напрямую, параметр не требуется. /U должен быть первым параметром.

Без расширения

/NE (без расширения) Используйте этот параметр, чтобы запретить копирование расширений файлов.

глубина пути

/PD (глубина пути) Глубина пути определяет, сколько частей пути будет скопировано. Вы можете указать, сколько частей пути будет скопировано в начале и в конце. Корень включен в счет. Между этими двумя частями. \ размещен. Нажмите здесь, чтобы увидеть подробный пример.

Префикс

/P Префикс, который будет вставлен перед каждой строкой. Пример: /P:"ПРЕД"

Суффикс

/S Суффикс, который будет вставлен после каждой строки. Пример: /S:"POST"

Замена частей строки

/R — это параметр, который можно использовать несколько раз. Вы можете использовать его для замены частей каждой строки. В следующем примере все вхождения «Righteous» будут заменены на «Lefteous», а все вхождения «12345» будут удалены: Пример: /R: «Righteous» = «Lefteous» /R: «12345» = «» Внимание : кавычки всегда должны быть установлены, как показано в приведенном выше примере. Замена строки чувствительна к регистру.

Список файлов

/L Список файлов. /L должен быть последним параметром. Возможны следующие значения:

  • %L Длинные имена файлов, включая полный путь, например. c:\Program Files\Длинное имя.exe
  • %l (L в нижнем регистре) Короткие имена файлов, включая полный путь, например C:\PROGRA~1\LONGNA~1.EXE
  • %F Длинные имена файлов без пути, например. Длинное имя.exe
  • %f Короткие имена файлов без пути, например. LONGNA~1.EXE
  • %D Короткие имена файлов, включая полный путь, но с использованием набора символов DOS для диакритических знаков.
  • %d Короткие имена файлов без пути, но с использованием набора символов DOS для диакритических знаков.
  • %P приводит к вставке исходного пути в командную строку, включая обратную косую черту (\) в конце.
  • %T вставляет текущий целевой путь. Особенно полезно для упаковщиков.

(взято из справочной системы Total Commander)

Также можно использовать %p и %t.

рекомендуемый порядок параметров

Lst2Clip.exe [/U] [/NE] [/PD] [/RB] [/P] [/S] [/R] /L

Параметры в скобках можно не указывать. Другой заказ может привести к нежелательным побочным эффектам.

7. Примеры

Путь будет скопирован как:

Команда: %PROGRAMFILES%\Total Commander \Addons\Lst2Clip\Lst2Clip.exe
Параметры: /L:"%L"
Команда: Lst2Clip.exe /P: "file:/" /R:"\"="/" /R:" "="%20%"
Параметры: / Л:"%L"

Еще один пример: вам нужно скопировать длинный путь в удобочитаемом виде. Учитывая следующий путь:

C:\Каталог 1\Каталог 2\Каталог 3\Каталог 4\Каталог 5\Каталог 6\Каталог 7\Файл.txt

Команда: Lst2Clip.exe /PD: "3"="3"
Параметры: /L:"%L"
< /p>

Результат: C:\Directory 1\Directory 2\. \Каталог 6\Каталог 7\Файл.txt

Еще примеры:

< /tr> < tr>
Для java.net.URL введите следующие значения:
Команда: Lst2Clip.exe /P:"file:/" /R:"\"="/"
Параметры: /L:"%L"
Для "windows-paths" с UNC- Требуется префикс следующих настроек:
Command: Lst2Clip.exe /P:"\ \?\" /R:"\"="\\"
Параметры: /L:"%L"
Чтобы скопировать текущий исходный путь подключенного диска:
Команда: Lst2Clip. exe /U
Параметры: /L:"%P"
Скопируйте текущий исходный путь без обратной косой черты:
Command: Lst2Clip.exe / PD:"0"="1" /RB
Параметры: /L:"%P"
Копировать имена файлов без пути и без расширения:
Команда: Lst2Clip.exe /NE
Параметры: /L:"% F"
Копировать короткие пути (в стиле DOS) в буфер обмена
Команда: Lst2Clip.exe
Параметры: /L:"%l"

8. Подсказки по версиям

9. Связаться с автором

Посетите форум Total Commander. Copyright (C) 2003 Lefteous, Все права защищены. Это дополнение Total Commander является бесплатным программным обеспечением, защищенным авторским правом.

В: Можно ли запретить копирование определенных файлов?
A: Да, в диалоговом окне копирования есть две строки, одна для целевого каталога и изменения имени, а вторая строка для копируемых файлов. Здесь вы можете указать не только типы файлов для копирования (например, *.doc *.xls), но и те, которые не следует копировать, например. *.* | *.bak *.old
Типы файлов, находящиеся за вертикальной чертой, не будут скопированы. Линия (символ вертикальной черты) используется, поскольку она не допускается в обычных именах файлов.

В: У Total Commander возникают проблемы с записью на мой привод CD-RW. Что может быть причиной?
О: Для записи на привод CD-RW используется так называемый драйвер UDF, т.е. EasyCD от Adaptec. В зависимости от используемого программного обеспечения и его возраста драйвер может быть хорошим или плохим — некоторые драйверы, похоже, тестируются только с проводником. Решение: Либо используйте другой драйвер (например, упомянутый выше), либо измените настройки Total Commander для копирования файлов через Проводник. Для этого вам нужно добавить следующую строку в файл wincmd.ini под заголовком [Конфигурация]
ExplorerForCopy=1
Недостаток: вы теряете расширенные возможности копирования, такие как копирование в фоновом режиме.

В: Как легко переименовать файл? Текущее имя файла должно быть задано по умолчанию!
О: выберите файл и нажмите SHIFT+F6.

В: Как я могу форматировать или копировать дискеты с помощью Total Commander?
A: Если щелкнуть правой кнопкой мыши букву диска, откроется контекстное меню, содержащее две команды. Это работает только в том случае, если диск не является текущим, поэтому вам нужно использовать панель кнопок диска (можно включить в диалоговом окне «Конфигурация»).

В: Можно ли использовать F2 для переименования (как в Проводнике)?
О: Да, вы можете переназначить сочетания клавиш через Конфигурация — Параметры — Разное — Переопределить сочетания клавиш. Команда для переименования — cm_RenameOnly .

В: Как разделить файл до заданного пользователем размера?
A: Используйте Файлы - Разделить файл и вручную введите желаемый размер. Обратите внимание: при вводе размера в k или M учитывайте, что 1k=1024 байта, а 1M=1024k! Обычно CD-R может содержать менее 640 МБ.

В: Как создать ярлык (lnk-файл)?
О: Есть две возможности:

  1. В другом окне, нажав Ctrl+Shift+F5
  2. В том же окне щелкните файл правой кнопкой мыши и удерживайте 1 секунду или нажмите Shift+F10 и выберите команду "Создать ярлык".

В: Хотя корзина включена как в Total Commander, так и на рабочем столе, Total Commander удаляет файлы напрямую.
A: Это происходит, если корзина повреждена. Чтобы восстановить его, выполните следующие действия:

  1. Включить отображение скрытых/системных файлов в Total Commander (через меню «Конфигурация»).
  2. На всех дисках удалите каталог \recycled в корне диска. Внимание! Корзина очищается!
  3. Удалите один файл в Проводнике. Это повторно создаст корзину.
  4. Не изменяйте содержимое каталогов \recycled. Чтобы получить доступ к корзине, щелкните правой кнопкой мыши кнопку F8 в Total Commander.

В: Как распечатать список файлов или импортировать его в другую программу?
О: Есть несколько способов распечатать каталог из Total Commander, хотя это невозможно напрямую:

Читайте также: