Копирование дерева директорий

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Post Reply
User avatar
alandr967
Posts: 24
Joined: Mon 30 Oct, 2017 14:21
Location: Odessa
Has thanked: 7 times
Been thanked: 1 time

Копирование дерева директорий

Post by alandr967 »

Можно в Far выделить директорию и сабдиректорию и скопировать эту структуру?
grinz
Posts: 12
Joined: Tue 28 Dec, 2010 13:27
Location: Kharkov
Been thanked: 1 time

Копирование дерева директорий

Post by grinz »

если у вас только Far то можно так:
1) Создать список каталогов:
dir /ad /s /b > p.temp
2) Заменить в нем имя диска 'C:\' на 'mkdir '
3) Сохранить с расширением cmd или bat
4) Скопировать в нужный каталог и выполнить
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Копирование дерева директорий

Post by HaRT »

xcopy.exe /T /E … — и Фар не требуется.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Копирование дерева директорий

Post by buniak_a_h »

HaRT wrote: Mon 04 Jun, 2018 13:04 xcopy.exe /T /E … — и Фар не требуется.
А если только файлов по маске и/или по содержанию? Типа результат поиска по AltF7...
Я когда-то делал скрипт копирования из временной панели с сохранением структуры каталогов, но как-то это грустно... Было бы здорово, если б такая возможность была бы для TmpPanel "родной". Единственная проблема - что считать "корнем" для временной панели. Но авторы, пишущие поиск по AltF7 с последующим занесением во временную панель и плагин TmpPanel, наверно, могли бы как-то договориться (например, во временной панели APanel.Path - пустая, а APanel.Path0 - указывает на папку текущего итема. Было бы здорово, если б сервис поиска заносил в какое-то внутреннее поле "стартовый" каталог, который потом попадал бы в prperty APanel.Path).
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Копирование дерева директорий

Post by John Doe »

buniak_a_h wrote: Mon 05 Nov, 2018 21:32 Было бы здорово, если б такая возможность была бы для TmpPanel "родной"
Присоединяюсь к пожеланию. На мантисе есть?
buniak_a_h wrote: Mon 05 Nov, 2018 21:32 Единственная проблема - что считать "корнем" для временной панели
Вроде бы нет тут проблемы, чаще всего APanel.Path0 как раз и есть корень.
Причём, и в этом случае глубина может быть избыточной, и общую часть пути можно сократить.
В этом случае было бы неплохо предоставить этот выбор пользователю.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Копирование дерева директорий

Post by buniak_a_h »

John Doe wrote: Tue 06 Nov, 2018 08:52 Присоединяюсь к пожеланию. На мантисе есть?
Честно говоря, эта тема так часто встречается тут на форуме, что на мантисе я и не смотрел. Я даже сделал скрипт, которым явно пользуются, потому что даже поблагодарили.
О! Я же делал фишки для запоминания строки поиска! А значит, в таком же Event-е можно запомнить "корневой каталог" (текущий перед началом поиска) и в моём же скрипте копирования использовать его. Спасибо за идею! :-)
John Doe wrote: Tue 06 Nov, 2018 08:52 Вроде бы нет тут проблемы, чаще всего APanel.Path0 как раз и есть корень.
Увы, нет. Если панель - плагина TmpPanel, то APanel.Path0 зависит от текущего итема и содержит имя папки, в которой находится текущий файл. Единственное исключение - итем ".." (там - да, корень). Но и то только до выхода из временной панели; после возврата Path0 у ".." указывает на реальный каталог, бывший активным перед заходом во временную панель
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Копирование дерева директорий

Post by John Doe »

buniak_a_h wrote: Tue 06 Nov, 2018 13:51 на мантисе я и не смотрел
Стоило бы записать, чтобы не потерялось.
buniak_a_h wrote: Tue 06 Nov, 2018 13:51 Если панель - плагина TmpPanel, то APanel.Path0 зависит от текущего итема
Но можно ведь и перейти на ".."
(да, я тоже предпочёл бы более прямой способ)
после возврата Path0 у ".." указывает на реальный каталог, бывший активным перед заходом во временную панель
А тут и запоминать смысла нет, ничего (надёжного) и не придумаешь, кроме как просто предлагать корнем общую часть пути.
Last edited by John Doe on Tue 06 Nov, 2018 14:12, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Копирование дерева директорий

Post by buniak_a_h »

John Doe wrote: Tue 06 Nov, 2018 14:10 ничего (надёжного) и не придумаешь, кроме как просто предлагать корнем общую часть пути.
Придумал же! :-)
Доделаю - выложу. Думаю, это многим будет удобно. Копирование найденных по критерию файлов с сохранением структуры каталогов - это очень нужная тема!
Post Reply

Return to “Нужна помощь”