![]() |
копирование определенных папок без "мусора"
В папке c:\updat есть 4 папки.1,2,3,temp и множество файлов различного расширения.
Надо скопировать только папки 1,2,3 в папку f:\3 Как не копировать папку temp "смог", а вот файлы ... исключить из копирования не могу(маску по названиям даже не пытался-слишком много).(ну лузер в батанике, чеж теперь :) ) использовал xcopy и robocopy. через for тоже запутался. насколько могу судить ... просто не могу "сделать" правильную маску. |
Код:
mkdir "f:\3" Код:
xcopy "c:\updat" "f:\3" /T /E |
xGETSx
mkdir не нужен папка существует.. Цитата:
скрипт не срабатывает - как понял из за того,что указанны точные папки копирования. их там нет. надо копировать в пустую папку 3. да и copy насколько понимаю плохо подходит для копирования папок... - это так.... моё лузерное мнение. даже не заморачивался с copy.help "сказал" -это для файлов.... Цитата:
|
Цитата:
Код:
xcopy "c:\updat\*" "f:\3\*" /S /E Код:
xcopy "c:\updat\*" "f:\3\*" /S Еще поиграюсь EXCLUDE, может что и выйдет |
xGETSx, не забывай про лишние файлы в структуре каталога.
temp исключить из копирования и я могу. а вот файлы нет. :( robocopy влегкую "расправляется" с папками. маску для файлов "написать" не могу/не умею. |
Тогда только через ROBOCOPY
Код:
robocopy "c:\updat\*" "f:\3\*" /S /E /XF * /XD "c:\updat\temp" Не, косяк. Так вообще файлы не копируются... |
недопустимый параметр "c:\updat\*" и с кавычками и без
|
Цитата:
Код:
robocopy "c:\updat" "f:\3" /S /E /XD "c:\updat\temp" |
Слушай... сработало.
Цитата:
а повторно с копированием с уже имеющими папками и файлами?... насколько понимаю robocopy фиолетово-тупо заменит и все? p.s-dirs получается не нужен? |
Код:
ATTRIB +I "c:\updat\*" Цитата:
Цитата:
Код:
robocopy "c:\updat" "f:\3" /S /E /XD "c:\updat\temp" "c:\updat\1" "c:\updat\2" "c:\updat\3" |
|
Цитата:
Цитата:
Цитата:
Цитата:
Все равно атрибут добавится если запускать от имени администратора. И если владелец файла - админ или пользователь данного компа. |
xGETSx, Ок! Спасибо! кое, что понял.
в завершение- а если, через for -robocopy "прибить". Чисто теоретически понимаю, что возможно... даже и с xcopy. Чисто практически "мыслей" не хватает. |
Команда for
Тут довольно подробно расписано. Я уже от компа просто отошел. Завтра напишу команду полностью с for. |
xGETSx, "мануал" по for то не проблемно.,но ...файлы "выкинуть" не смог. Папку temp без проблем.
без del.-не "рекурсивно". |
Код:
for /D %%i in ("c:\updat") do xcopy /Y "%~dpi\*" "f:\3\%i\*" Если в папках есть еще папки - можно попробовать Код:
for /D /R %%i in ("c:\updat") do xcopy /Y "%~dpi\*" "f:\3\%i\*" Код:
for /R %%i in ("c:\updat") do xcopy /Y "%~dpi\*" "f:\3\%i\*" |
Проверю завтра. Сплю...
%~dpi - в help-е нет... лузеры мы лузеры... что такое? |
Если к переменной добавить %~dp, переменная превратится в имя диска и полный путь к файлу.
Не ./2, а D:\1\2\ |
Цитата:
Код:
for /? Есть и в помощи. |
С Вашей задачей у успехом справится CopyMik
например: copymik.exe c:\Documents d:\DocArchiv /MD buch* progr* important* /MF *.txt *.cpp *.jpg *.bmp /XCD .svn tmp* /XCF *.tmp *.db /OF Что делает: Копирует все файлы с масками *.txt *.cpp *.jpg *.bmp из папок с масками buch* progr* important* при этом не копирует папки с масками .svn tmp*. и не копирует файлы с масками *.tmp *.db если файлы уже существуют то перезаписывает их |
Время: 00:13. |
Время: 00:13.
© OSzone.net 2001-