Den_Klimov
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Kirillhome Цитата: По поводу 1-го батника - правильно ли я понимаю, что если в каталоге "б" есть файл test.txt и подкаталог test с файлом test.txt (файл test.txt есть в списке), то в каталог "с" будет переписан сначала один, а потом второй файл??? | Уже немножко отредактировал предыдущий пост. При формулировке задачи я одно важное слово упустил - "КОРНЯ". В общем, в первом искомом батнике в каталог "с" из каталога "b" будут переписаны только ТЕ файлы и папки, которые имеются в файл-списке (который необходимо создать на основе содержимого КОРНЯ каталога "a"). Таким образом если в КОРНЕ каталога "a" были и файл test.txt и папка test, то в этом случае и из КОРНЯ каталога "b" в каталог "с" будут переписаны целиком и вместе со всем содержимым и файл test.txt и папка test (со всеми своими файлами и подкаталогами), но ТОЛЬКО если они находились в КОРНЕ каталога "b". При этом содержимое подкаталогов каталога "а" не должно указываться в файл-списке. Запоминаются и выводятся в файл-список только те файлы и папки которые находятся В КОРНЕ каталога "а"! И уже в КОРНЕ каталога "b" производится поиск файлов и папок которые соответствуют указанным в файл-списке. И если в КОРНЕ каталога "а" был только файл test.txt, то естественно, что папка test вместе с её содержимым, каким-бы оно ни было, копироваться в каталог "c" не будет. Но если в КОРНЕ была и папка test, то копируется и она (естественно вместе со всем своим содержимым). Это понятно. Кстати отличие второго искомого батника от первого именно в том и заключается. 1. Что в файл-список в первом случае выводится содержимое только лишь КОРНЯ каталога "а" (независимо будут то файлы или папки). И таким образом дальнейшие действия с возможно существующими объектами в каталоге "b" производятся только к тем ФАЙЛАМ и ПАПКАМ, которые распологаясь в КОРНЕ каталога "b" полностью совпадают по имени.расширению, с аналогичными файлами в корне каталоге "а". 2. А во втором выводится ПОЛНАЯ СТРУКТУРА файлов, включая файлы находящиеся в подкаталогах (с сохранением структуры их расположения в подкаталогах каталога "а"). И таким образом дальнейшие действия с возможно существующими объектами в каталоге "b" производятся только к тем ФАЙЛАМ, которые полностью совпадают и по имени.расширению и по своему относительному расположению в структуре подкаталогов в каталоге "b" с аналогичными файлами и папками в каталоге "а". Таким образом, в отличии от первого искомого батника, хотя копируются ТОЛЬКО ФАЙЛЫ, но копируются они с полным сохранением структуры каталогов относительно корня папки вначале "a" и "b", а потом и "c" (куда они копируются). Цитата: И (очень похоже, но - возможно и ошибаюсь) - п. 2-4 можно заменить одним - не копировать, потом снимать атрибуты, потом удалять, а просто переместить??? | Условие задачи для искомых мною батников составлено таким образом, чтобы я сам на основе этих батников мог бы понять и научиться. В принципе вы правы. Но такой вариант более гибкий. Так как в любой момент можно удалить строку отвечающую за резервное копирование (пункт 2.), оставив снятие атрибутов и удаление. К тому же необходимо чтобы действие гарантированно применялось для всех заданных в задаче объектов. Включая объекты имеющие атрибуты скрытые, системные и только чтение. Но чтобы эти объекты предварительно копировались/перемещались (смотри пункт 2.) со всеми своими оригинальными атрибутами (очень желательно). ---------------- Помогите ребята! Очень прошу! Подобные пакеты командных строк можно было бы использовать в очень многих различных сложных bat-никах для весьма разнообразных задач. В том числе для создания простых инсталляционных пакетов на основе обычных самораспаковывающихся архивов. Естественно с использованием утилиты полного 100% скрытия работы cmd-файла - hidcon.exe (кстати, если кому нужен hidcon.exe могу выложить). | Всего записей: 317 | Зарегистр. 27-02-2006 | Отправлено: 18:47 01-10-2006 | Исправлено: Den_Klimov, 19:50 01-10-2006 |
|