Latest post of the previous page:
Насчет файл-менеджеров и утилит - не знаю, юзаю только FAR.John Doe wrote:Существуют ли файлменеджер, или консольная утилита, работающие именно так?
В FAR'е при копировании файла даже без завершающего слеша производится копирование в папку (например, нахожусь в папке C:\A, копирую файлы 1.txt, 2.txt, указываю в диалоге C:\B - получаю файлы C:\B\1.txt, C:\B\2.txt, точно так же, как и при указании C:\B\)John Doe wrote:При копировании нескольких файлов завершающий слеш помогает определить, что назначение - папка, а не файл.
Различать наличие/отсутствие слеша в других случаях - идея сомнительная.
Я уже начал было писать макрос. Но обнаружил, что в момент подтверждения копирования я могу изменить только "куда копировать". При этом подобрать значение "куда копировать", чтобы копирование производилось, как хочется, не удалось. Получается, в момент подтверждения нужно:John Doe wrote:Может лучше написать макрос?
а) определить, что копируется/переносится папка (вроде бы можно, используя mf.fattr)
б) для которой указывается новое имя (вроде бы тоже можно, используя SendDlgMessage с DM_GETDIALOGINFO и DM_GETDLGITEM)
в) на пассивной панели существует такая папка (вроде бы можно, используя panel.GetPanelDirectory, mf.fexist и ранее выдранное из диалога имя)
г) найти все файлы в текущей папке (вроде можно, используя far.GetDirList)
д) подменить "что копировать" (папку) на свеженайденный набор файлов из папки
Вот с подменой "что копировать" и возникает проблема - как это сделать?
ЗЫ. Это только для одной папки, над ситуацией, когда их несколько не думал (вряд ли это мне потребуется)
ЗЗЫ. Кстати, вроде бы, в отличие от move, copy копирует файлы (но не подпапки ) внутри папки корректно
UPD. Вставил в пост цитаты, чтобы было понятно, о чем речь.