Вход

Просмотр полной версии : Нужен совет


Delon
21.11.2008, 22:05
Случай такой.Имеется папка, в ней куча-куча папок, в которых куча-куча файлов.Мне нужны все эти файлы из всех папок вытащить и поместить в одну папку.Копируя или вырезая отдельно займет довольно много времени.

Вопрос: Имеется ли такая программа (команда), которая могла бы сразу переместить все имеющиеся файлы в категории в одну папку ?

что-то намудрил со словами, но вроде понятно :005:

BloodKemper
21.11.2008, 22:36
не ленись =)

kilabot
21.11.2008, 23:20
С помощью любого файлового менеджера, например TOTAL-ом (http://soft.ya1.ru/folder.php?id=1265), эту операцию можно сделать за "5" секунд.

lsmod
21.11.2008, 23:26
Для забавы написал такой скрипт:

#!/bin/bash

for loop in `find $1 -type f`
do
cp $loop $2
done

Чтобы найти все файлы во всех подкаталогах каталога foo и скопировать их в bar нужно передать скрипту их пути, типа:

скрипт foo bar

все файлы из foo будут в bar.

Если у вас есть возможность запустить bash в Windows - пробуйте. :)

Delon
21.11.2008, 23:44
Для забавы написал такой скрипт:

#!/bin/bash

for loop in `find $1 -type f`
do
cp $loop $2
done

Чтобы найти все файлы во всех подкаталогах каталога foo и скопировать их в bar нужно передать скрипту их пути, типа:

скрипт foo bar

все файлы из foo будут в bar.

Если у вас есть возможность запустить bash в Windows - пробуйте. :)

Спасибо конечно, но для меня сложновато все это, я наверно быстрее руками все сделаю, хоть и муторно чем с этим разберусь :)
А в тотале копался че то не нашел как делать :(

lsmod
21.11.2008, 23:48
Тьфу, нафиг, я огород городил. Вот так проще:

find /foo -type f | xargs cp --target-directory=/bar

и все файлы в bar кучкой. :)

Pandemonium
22.11.2008, 00:52
Правый клик по папке -> найти... *.* -> когда найдет нажать "Файлы на панель" и копируй-переноси куда хочешь :)

А ето консольная команда в командной строке винды :) (путь естественно укажешь свой :) )
move /y e:\temp\1\*.* e:\temp\2\
параметр /y - перезаписывать существующие файлы назначения без предупреждения
параметр /-y - предупреждать при перезаписи существующего файла назначения

MaXiMuS_Ru
22.11.2008, 01:02
Правый клик по папке -> найти... *.* -> когда найдет нажать "Файлы на панель" и копируй-переноси куда хочешь :)

А ето консольная команда в командной строке винды :) (путь естественно укажешь свой :) )
move /y e:\temp\1\*.* e:\temp\2\
параметр /y - перезаписывать существующие файлы назначения без предупреждения
параметр /-y - предупреждать при перезаписи существующего файла назначения

позновательно , не знал этого!

lsmod
22.11.2008, 10:06
move /y e:\temp\1\*.* e:\temp\2\
параметр /y - перезаписывать существующие файлы назначения без предупреждения
параметр /-y - предупреждать при перезаписи существующего файла назначения

Эта команда будет искать файлы для копирования рекурсивно во всех подкаталогах? Или просто скопирует файлы из каталога 1 в каталог 2?

Pandemonium
22.11.2008, 12:23
Оказывается из подкаталогов не хотит :)
Но можно написать многоуровневый bat-ник который просканирует каталог.

lsmod
22.11.2008, 13:16
Может, у команды move есть какой-нибудь полезный ключ на такой случай? Как это там смотрелась справка по команде?

move help

или уже не помню как.

Delon
23.11.2008, 10:30
Сделал по варианту Pandemonium'a с поиском :) Легко удобно элементарно оказ-ся )