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

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

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

Post by alandr967 » Mon 04 Jun, 2018 06:40

Можно в Far выделить директорию и сабдиректорию и скопировать эту структуру?

grinz
Posts: 11
Joined: Tue 28 Dec, 2010 13:27
Location: Kharkov

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

Post by grinz » Mon 04 Jun, 2018 07:34

если у вас только Far то можно так:
1) Создать список каталогов:
dir /ad /s /b > p.temp
2) Заменить в нем имя диска 'C:\' на 'mkdir '
3) Сохранить с расширением cmd или bat
4) Скопировать в нужный каталог и выполнить

User avatar
HaRT
Moderator
Posts: 8508
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 74 times
Been thanked: 136 times

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

Post by HaRT » Mon 04 Jun, 2018 13:04

xcopy.exe /T /E … — и Фар не требуется.
Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 592
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 59 times
Been thanked: 13 times
Contact:

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

Post by buniak_a_h » Mon 05 Nov, 2018 21:32

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: 11983
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 26 times
Been thanked: 136 times

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

Post by John Doe » Tue 06 Nov, 2018 08:52

buniak_a_h wrote:
Mon 05 Nov, 2018 21:32
Было бы здорово, если б такая возможность была бы для TmpPanel "родной"
Присоединяюсь к пожеланию. На мантисе есть?
buniak_a_h wrote:
Mon 05 Nov, 2018 21:32
Единственная проблема - что считать "корнем" для временной панели
Вроде бы нет тут проблемы, чаще всего APanel.Path0 как раз и есть корень.
Причём, и в этом случае глубина может быть избыточной, и общую часть пути можно сократить.
В этом случае было бы неплохо предоставить этот выбор пользователю.

buniak_a_h
Posts: 592
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 59 times
Been thanked: 13 times
Contact:

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

Post by buniak_a_h » Tue 06 Nov, 2018 13:51

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: 11983
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 26 times
Been thanked: 136 times

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

Post by John Doe » Tue 06 Nov, 2018 14:10

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.

buniak_a_h
Posts: 592
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 59 times
Been thanked: 13 times
Contact:

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

Post by buniak_a_h » Tue 06 Nov, 2018 14:42

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

Post Reply

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