dnk:
Цитата
И собственно неужели так больше и нет непосредственно самих программ, а не утилит, для выполнения описанной выше функции отбора файлов?
Мир велик, может, где-то что-то и есть, кто-нибудь еще что-то предложит. Но я знаком с xcopy (ну, не очень тесно, но возможности представляю), которая может, как я понимаю, выполнить задачу, вот ее и предложил.
Тогда не будем разбегаться мыслью по разным вариантам вызова xcopy или xxcopy.
Во-первых, вполне достаточно вызова xcopy, а она уже имеется в составе Windows, так что ничего специально загружать на компьютер не надо.
Во-вторых, самый подходящий вариант ее вызова - записать две строки
Цитата
xcopy \a\*.pdf \c /s /e /i
pause
в обычном текстовом файле, просто ему надо дать расширение .bat. Тем самым он превращается в т.н. пакетный, или bat-файл, представляющий собой программу, выполняемую командным интерпретатором Windows (он уже ассоциирован с расширением BAT).
Bat-файл (дальше буду писать батник) запускается, как и любая программа, двойным кликом мышки. Можно и сделать к нему ярлык, все как обычно. Просмотреть и изменить его содержание можно временно переименовав его к расширению txt или, проще, из контекстного меню батника, там есть команда "редактировать" или как-то похоже, открывающая его в текстовом редакторе.
У нас батник содержит команду вызова утилиты xcopy с нужными параметрами (именами папок и шаблоном файлов) и указаниями (ключами работы, например, /s - пройтись и по подпапкам), и вторую команду pause, которая держит окно, в которое xcopy выведет сообщение о результате своей работы, открытым до нажатия любой клавиши. В принципе команда pause не нужна, она только для того, чтобы можно было спокойно прочитать отчет утилиты xcopy о проделанной работе до того, как окно командного интерпретатора закроется. В окончательном варианте можно будет оставить в батнике только строку с вызовом xcopy с параметрами и ключами.
Для проверки работы можно создать в корневом каталоге диска C папку с именем a и вложенными папками и их подпапками и несколькими файлами с расширениями pdf и какими-нибудь другими и проверить работу нашего батника.
Так просто, конечно, только с заранее заданными именами исходных папок и расширениями файлов. Чтобы вводить их в диалоговом режиме, нужно уже писать, хоть и не очень сложную, но все же программу на языке командного интерпретатора с использованием других его команд. Есть, конечно, вариант прямого ввода строки с xcopy и требуемыми модификациями параметров в строке Run и т.п., если делать это надо самому и не очень часто, то сойдет. Проще, если можно, просто заготовить несколько вариантов батников с заранее заданными именами папок и расширений имен файлов.
"Тот факт, что камни могут мыслить, общеизвестен, потому что на нем основывается вся электроника." (Терри Пратчетт, "Творцы заклинаний")