Фоновое копирование с помощью FastCopy

Здесь обсуждается всё, что касается макросов.
DV
Posts: 376
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 12 times
Been thanked: 12 times

Фоновое копирование с помощью FastCopy

Post by DV » Sat 16 Nov, 2019 19:23

Поскольку плагин Background Copy не развивается, а необходимость копирования в фоне есть, было принято волевое решение реализовать копирование в фоне с помощью макроса.
Особенности данного макроса:
1. Код данного макроса базируется на макросах Plugin_FastCopy & Plugin_TeraCopy (C) SimSU
2. Почему именно FastCopy? Потому что это "рабочая лошадка", невзирая на его невзрачный внешний вид. TeraCopy выглядит гораздо приятнее, но при копировании файлов порой возникают проблемы. Это неприемлемо.
3.
4.

Сам макрос, версия 1.3.2:


Он же:
Plugin.FastCopy.1.3.2.7z
(3.49 KiB) Downloaded 6 times
Last edited by DV on Sat 07 Dec, 2019 18:22, edited 7 times in total.

User avatar
zg
zero-gravity
Posts: 5651
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:

Фоновое копирование с помощью FastCopy

Post by zg » Mon 02 Dec, 2019 00:08

Latest post of the previous page:

DV wrote:
Sun 01 Dec, 2019 21:46
4. Так вот, win.SearchPath не находит путь C:\Progs\FastCopy\FastCopy.exe, который я прописал в переменной %PATH% непосредственно перед запуском FAR !
а у вас точно FastCopy.exe имеет путь C:\Progs\FastCopy\FastCopy.exe\FastCopy.exe или всё таки C:\Progs\FastCopy\FastCopy.exe?

DV
Posts: 376
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 12 times
Been thanked: 12 times

Фоновое копирование с помощью FastCopy

Post by DV » Mon 02 Dec, 2019 12:24

zg wrote:
Mon 02 Dec, 2019 00:08
или всё таки C:\Progs\FastCopy\FastCopy.exe?
Точно :) Таки win.SearchPath работает, как надо :)
buniak_a_h wrote:
Sun 01 Dec, 2019 22:13
И, кстати, может, стоило бы запускать её с SW_SHOWMINIMIZED или даже SW_HIDE - раз уж "фоновое"
Перепробовал SW_HIDE, SW_SHOWNOACTIVATE, SW_SHOWMINNOACTIVE и прочие варианты с запуском FastCopy, калькулятора (calc) и блокнота (notepad). Почему-то при запуске FastCopy и notepad со свёрнутым окном фокус ввода не возвращается в FAR Manager! То есть указанная программа запускается свёрнутой - а фокус ввода оказывается непонятно где, но точно не у окна FAR Manager. (В то время, как calc, похоже, вообще игнорирует то, что передано в nShowCmd).

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

Фоновое копирование с помощью FastCopy

Post by buniak_a_h » Mon 02 Dec, 2019 12:33

DV wrote:
Mon 02 Dec, 2019 12:24
Перепробовал SW_HIDE, SW_SHOWNOACTIVATE, SW_SHOWMINNOACTIVE и прочие варианты с запуском FastCopy, калькулятора (calc) и блокнота (notepad). Почему-то при запуске FastCopy и notepad со свёрнутым окном фокус ввода не возвращается в FAR Manager! То есть указанная программа запускается свёрнутой - а фокус ввода оказывается непонятно где, но точно не у окна FAR Manager. (В то время, как calc, похоже, вообще игнорирует то, что передано в nShowCmd).
Я тоже … :-)
На самом деле SW_HIDE было бы нормально (фокус остаётся у ФАРа), но вот только потом уже на запущенное приложение (FastCopy) не переключиться. Если надо снять - только через список процессов. "Запускать свёрнутым в трей" - такого нет…
Last edited by buniak_a_h on Mon 02 Dec, 2019 12:34, edited 1 time in total.

DV
Posts: 376
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 12 times
Been thanked: 12 times

Фоновое копирование с помощью FastCopy

Post by DV » Mon 02 Dec, 2019 13:29

Поэкспериментировав ещё c командами вида

Code: Select all

lua: win.ShellExecute(nil, nil, "notepad", nil, nil, 7)
выяснил, что при работе со стандартным консольным окном FAR Manager фокус ввода таки возвращается в FAR Manager.
А вот при работе с FAR Manager из-под ConEmu фокус ввода переходит непонятно куда...
Last edited by DV on Mon 02 Dec, 2019 13:30, edited 1 time in total.

DV
Posts: 376
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 12 times
Been thanked: 12 times

Фоновое копирование с помощью FastCopy

Post by DV » Mon 02 Dec, 2019 21:26

Версия 1.3.1:
- исправлены недочёты, обнаруженные buniak_a_h (спасибо!);
- если путь к FastCopy.exe не существует, кнопка [Edit...] в сообщении об ошибке позволяет отредактировать макрос с последующей перезагрузкой макросов (это я так схитрил, чтобы не делать полноценную конфигурацию :))
Last edited by DV on Mon 02 Dec, 2019 21:26, edited 1 time in total.

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

Фоновое копирование с помощью FastCopy

Post by buniak_a_h » Mon 02 Dec, 2019 21:57

DV wrote:
Mon 02 Dec, 2019 21:26
это я так схитрил
Да надо было просто, если путь введён корректно, запомнить его по mf.msave, а загружать по mf.mload. Тоже не полноценная конфигурация, но не редактирует скрипт и не требует перезагрузки макросов. И введённый путь не пропадёт при следующей версии скрипта. В остальном согласен: чем майстрячить конфигурацию проще один раз спросить, проверить, что указали правильно и запомнить.

DV
Posts: 376
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 12 times
Been thanked: 12 times

Фоновое копирование с помощью FastCopy

Post by DV » Sat 07 Dec, 2019 18:24

Версия 1.3.2:
- если макрос не находит FastCopy.exe, то по нажатию кнопки [Edit...] он автоматически создаёт файл настроек Plugin.FastCopy.cfg рядом с Plugin.FastCopy.lua, и при дальнейших вызовах читает настройки именно из этого файла.

User avatar
Xerox
Posts: 236
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 236 times
Been thanked: 2 times

Фоновое копирование с помощью FastCopy

Post by Xerox » Sun 08 Dec, 2019 15:34

DV,
Eсли еще не решил все проблемы с фокусами?
.. то можно попробовать запускать с помощью:

Code: Select all

start /min "titel" "<your command/program here>"
"/мин" - это "start minimized".
"старт" даст еще гибкость в задавании приоритета и аффинити (у start-а дофига и других параметров запуска),
что для копирования важно, чтобы не убивать все ИО/ЦПУ

Post Reply

Return to “Обсуждение макросов”