PureBasic


Com2Selfiles

Назначение

Получает список выделенных файлов из активного окна эксплорера.

Взаимосвязанные

pkm_dll

Работа с программой


Кратко: сформировать ini-файл, задать горячую клавишу, пользоваться.


Параметры ini-файла

[default] ; секция настроек
Path=pkm.bat ; любой исполняемый файл, абсолютный путь, относительный от папки EXE и имя файла с поиском в %Path% или в папке EXE
Arg=/i ; дополнительные аргументы, кроме путей к выделенным файлам. Аргумент вставляется перед файлами.
ModeWorkDir=1 ; определяет рабочую папку. 0 - рабочая папка там где выбранные файлы, 1 - рабочая папка исполняемого файла
Select=1 ; что выбрать. 1 - файлы, 2 - папки, 3 - файлы и папки. Остальные будут игнорироваться.
Separator=| ; задаёт разделитель между файлами. Например в батнике можно задать разделитель в цикле, чтобы не использовать пробел, являющийся частью имени файла. Тогда %1 является вся строка с файлами.
Quotes=" ; задаёт символ вокруг строки файлов, чтобы bat-файл воспринимал строку как 1 параметр, не разделяя на пробелы. Но иногда нужен вывод без них.
Charset=0 ; Кодировка файла 24 - Ascii, 25 - UTF-16 с BOM, что либо иное - UTF-8 с BOM.
Clear=0 ; (по умолчанию 1) для ручного копирования файлов в ФМ, в эксплорере лучше 0.
CtrlIns=1 ; (по умолчанию 1) 1= Ctrl + Insert, 0 = Ctrl + C (выбор способа эмуляции копирования списка файлов в буфер обмена., например Ctrl + Insert в Xplorer создаёт вкладку и надо использовать только Ctrl + C, в тоже время Ctrl + C зависит от раскладки клавиатуры русс/англ, а Ctrl + Insert - нет).
Time=200 ; в миллисекундах, между 30-500. Время между эмуляцией Ctrl+Ins и началом сбора файлов. Чем больше файлов, тем больше промежуток. В проводнике хватало 30, в Xplorer 250. Если список получен в буфер обмена, но не обработан, значит увеличить время ожидания, функция сбора файлов не смогла открыть буфер обмена, так как он ещё формировался предыдущим вызовом.
Class2=TTOTAL_CMD,CabinetWClass ; Дополнительные классы окна для захвата выделенных файлов, чтобы использовать другие файловые менеджеры. Перечисление классов через запятую без пробелов.
Debug=0 ; режим отладки или вывода. 1, 2, 4, 8, 16, 32.
    1 и 4 выдают сообщение, причём 4 выдаёт только имена, а 1 исполняемый файл и рабочий каталог.
    2 и 8 - буфер обмена, но 8 выдаёт только имена, а 2 исполняемый файл и рабочий каталог. Причём если в сообщении нажать ОК, то выполнится команда, получается контроль файлов и согласие выполнения, а вариант с буфером обмена не запускает исполняемый файл поэтому этот вариант можно использовать чтобы получить имена в буфер обмена для использования списка файлов на форуме и т.д.
    16 - при 1 и 2 создаёт список файлов без путей. 1 и 2 выдаёт многострочный список вне зависимости от разделителя и кавычек.
    32 - сохраняет список файлов в файле %TEMP%\Com2Selfiles.txt (зависит от имени исполняемого файла)
    64 - пустая ком-строка для запуска программ, которым нежелательно передавать ком-строку, полезно совместно с флагом 32.



Установка

  1. Установить программу TrueLounchBar версии 6.6.9 (бесплатная для СССР) и добавить горячую клавишу на запуск Com2Selfiles.exe.
  2. Настроить ini-файл.

Использование

  1. Выделить несколько файлов, вызвать горячую клавишу для запуска Com2Selfiles.exe.
  2. Выполняется файл, указанный в "Path = "
  3. Файлы передаются исполняемому файлу в виде ком-строки.
  4. Повторить выше описанное, чтобы создать для любых других программ. Создать новую папку с новыми параметрами ini-файла с новой горячей клавишей.

Командная строка

  1. В ком-строке передаётся имя секции ini-файла (без квадратных скобок).
  2. Без ком-строки используется секция [default]
  3. Если имя секции не существует в ini-файле, программа завершается ничего не делая.
Программу можно использовать для получения списка файлов включив Debug=8 или 8+16=24 чтобы имена были без путей.

При использовании Debug=4 можно контролировать имена файлов получив сообщение перед запуском, чтобы знать, что передаётся необходимый набор файлов.

Параметр Debug=32 полезен для программ умеющих работать со списком файлов. То есть создаётся файл со списком выделенных файлов и передаётся запускаемой программе.