Как переместить дерево файлов +выфильтровать опр.расширения?
Как переместить дерево файлов +выфильтровать опр.расширения?
Хочу переместить (F6) дерево файлов с сохранением структуры директорий, но файлы с некоторым расширением не перемещать. То есть по окончании операции должно получиться два идентичных дерева каталогов, но в каждом дереве - свои файлы.
Far version 2.0
- Konstantin
- Posts: 234
- Joined: Wed 14 Jun, 2006 19:29
- Location: Санкт-Петербург
- Has thanked: 109 times
- Been thanked: 5 times
Бесплатная русскоязычная мощная утилита nnBackup http://www.nncron.ru/index_ru.shtml
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
- Konstantin
- Posts: 234
- Joined: Wed 14 Jun, 2006 19:29
- Location: Санкт-Петербург
- Has thanked: 109 times
- Been thanked: 5 times
Согласен вполне.zencd wrote:решение на базе Фара было бы предпочтительнее
Переспросите ещё более определённо или подождите и м.б. кто-то из аборигенов ФарФорума сможет подсобить с макросом...
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
Code: Select all
init.bat:
@echo off
for %%i in (1 2 3) do for %%j in (1 2 3) do mkdir src\test-%%i\test-%%i-%%j
for %%i in (1 2 3) do for %%j in (1 2 3) do for %%k in (a b c d e) do @echo.> src\test-%%i\test-%%i-%%j\file.%%k
Code: Select all
test.bat:
@echo off
setlocal enableextensions enabledelayedexpansion
set not_move_ext=.c,.d
set src=.\src
set dst=.\dst
call :fullname %src% fsrc
for /r %src% %%i in (*) do (
set t=%%~dpi
set t=!t:%fsrc%=%dst%!
mkdir !t! 2>nul
set move=t
for %%j in (%not_move_ext%) do if /i "%%j"=="%%~xi" set move=f
if !move!==t move %%~fi !t!
)
goto :eof
:fullname
set %2=%~f1
goto :eof
Как сделать то же средствами фара - не знаю.
wbr, sb
Как правильно задавать вопросы
Как правильно задавать вопросы
- Centaur
- Posts: 1083
- Joined: Tue 05 Apr, 2005 20:09
- Location: Novosibirsk, Russia
- Been thanked: 2 times
По Alt+F7 находим все файлы, которые перемещать. Сваливаем их во временную панель. Выделяем все, копируем имена с путями через буфер в редактор. Плагином Search&Replace заменяем на
Полученный файл сохраняем как tmp.cmd и запускаем.
Code: Select all
(("?)Q:\\source\\path\\(.*)\2)
Code: Select all
md $2W:\dest\path\$3\..$2 & move $1 $2W:\dest\path\$3$2
- Konstantin
- Posts: 234
- Joined: Wed 14 Jun, 2006 19:29
- Location: Санкт-Петербург
- Has thanked: 109 times
- Been thanked: 5 times
А у меня почему-то не получается таким образом распространить действие фильтра на дерево папок. Фильтр срабатывает лишь на первом, т.е. непосредственно видимом уровне. Следующие подуровни папок перемещаются вместе со всеми содержащимися в них файлами. М.б. я что-то неверно делаю?jbak wrote:в диалоге F6 задать фильтр, воспользовавшись в нём маской исключения
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
- Andrey Budko
- Posts: 1203
- Joined: Fri 01 Apr, 2005 14:03
- Contact:
То, что фильтры в диалоге переноса только для декорации пора бы уже и знать, не маленькие. Другое дело как отжигает фаровский диалог копирования при использовании масок в индикации прогресса. Числа вида "-123345:-1:" в поле remaining там не редкость. Хотя кого нынче этим удивишь...
Я, кстати, слышал - им пользуются некоторые! Это не миф?
Я, кстати, слышал - им пользуются некоторые! Это не миф?
- Konstantin
- Posts: 234
- Joined: Wed 14 Jun, 2006 19:29
- Location: Санкт-Петербург
- Has thanked: 109 times
- Been thanked: 5 times
Ну вот, например, поставленную в теме задачу за два F5 и один Del исходного дерева папок решить можно с помощью фильтров.Andrey Budko wrote:фаровский диалог копирования при использовании масок...
Я, кстати, слышал - им пользуются некоторые! Это не миф?
Это хоть и менее удобно чем по F6 было бы, а всёж-таки лучше, чем внешнюю утилиту настраивать.
И толи ещё будет когда и на F6 фильтры будут доделаны...
Успехов в совершенствовании ФАРа!
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
zencd
RoboCopy C:\ConsUserData\ D:\ConsUserData *.* /E /Mov /XF *.txt *.dll
исключая файлы *.txt, *.dll
Утилита Robocopy must have
RoboCopy C:\ConsUserData\ D:\ConsUserData *.* /E /Mov /XF *.txt *.dll
исключая файлы *.txt, *.dll
Утилита Robocopy must have
- Konstantin
- Posts: 234
- Joined: Wed 14 Jun, 2006 19:29
- Location: Санкт-Петербург
- Has thanked: 109 times
- Been thanked: 5 times
Re: Как переместить дерево файлов +выфильтровать опр.расшире
zencd
-s – учитывать вложенные каталоги при копировании, т. е. копировать файлы из исходного каталога и всех его подкаталогов;
-e – копировать пустые каталоги;
-d – удалять скопированные файлы из исходного каталога; удаляются только файлы, каталоги не удаляются;
-p – копируя файл в приемный каталог, создавать структуру каталогов, соответствующую полному пути файла в исходном каталоге.
http://www.nncron.ru/index_ru.shtml Nnbackup – суперутилита!
При этом
Успехов в совершенствовании и удовольствия в использовании ФАРа!
Nnbackup copy -i <откуда> -o <куда> -x исключающяя маска, исключающяя маска, ... -s -e -d -pzencd wrote:по окончании операции должно получиться два идентичных дерева каталогов, но в каждом дереве - свои файлы.
-s – учитывать вложенные каталоги при копировании, т. е. копировать файлы из исходного каталога и всех его подкаталогов;
-e – копировать пустые каталоги;
-d – удалять скопированные файлы из исходного каталога; удаляются только файлы, каталоги не удаляются;
-p – копируя файл в приемный каталог, создавать структуру каталогов, соответствующую полному пути файла в исходном каталоге.
http://www.nncron.ru/index_ru.shtml Nnbackup – суперутилита!
При этом
когда к F6 прикрутятся фильтры задача будет решаться оперативней и комфортней.Konstantin wrote:Согласен вполне.zencd wrote:решение на базе Фара было бы предпочтительнее
Успехов в совершенствовании и удовольствия в использовании ФАРа!
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
- Andrey Budko
- Posts: 1203
- Joined: Fri 01 Apr, 2005 14:03
- Contact:
Ты забыл одну вещь. Фар файлы копировать не умеет.Ну вот, например, поставленную в теме задачу за два F5 и один Del исходного дерева папок решить можно с помощью фильтров. Это хоть и менее удобно чем по F6 было бы, а всёж-таки лучше, чем внешнюю утилиту настраивать. И толи ещё будет когда и на F6 фильтры будут доделаны...
Задача будет решаться "в принципе" только после того, как фар научится копировать файлы, а этого не случится никогда.когда к F6 прикрутятся фильтры задача будет решаться оперативней и комфортней.
- Andrey Budko
- Posts: 1203
- Joined: Fri 01 Apr, 2005 14:03
- Contact: