RusF. Примечание:
Используя XCOPY, больше нельзя использовать подстановочные знаки в
имя файла для каталогов, а затем просто группа аналогично
именованные каталоги копируются в архив или сетевую структуру.
(Подсказка: вы хотите делать это все время, если вы управляете
большие пачки данных. Например. Видео или видео файлы (где много файлов
может быть связано с производством. Или данные истории цен
файлы в различных форматах или файлы базы данных из различных
исследовательские проекты или экспериментальная работа.)
Я уверен, что раньше я мог делать это с более старой XCOPY, но
с обновлениями (для безопасности), подстановочные знаки в имени файла, сделать
не работает правильно (т.е. вы можете построить структуру каталогов,
с параметром "/ t", но вы не можете получить чертовы файлы в
каталоги для миграции! Чертовски раздражает.)
Ну, мы здесь, на ферме, всегда найдем решение. Даже если
для этого нужно использовать .44 Magnum или Styer 50.:)
Итак, вот что я придумала:
Предположим, у вас есть несколько каталогов под названием "Fark_1, Fark_2,
Fark-Special, Fark_in_the_Park, Fark99 ... "и т. Д.
Если все эти каталоги "Fark ..." существуют на диске C: \, и
вы хотите перенести копию этой подструктуры в архив
диск в сети (скажем, он называется: "h:") вы можете просто
сделайте следующее:
Запуск командной строки FOR DO из Windows (MS-DOS):
c:\> XCOPY fark* h: /s /e /f /t
The /s /e are for copying subdirs
and empty directories, the /f says to
show the files, and the /t says to only
copy the disk directories. No XCOPY
option seems to exist anymore to copy the
disk structure AND the files in the
directories.
Чтобы получить файлы для копирования, выполните следующие действия:
также из командной строки Windows:
FOR /d %a in (fark*) DO XCOPY "%a" h:%a\ /s /e /f /h /k /y
The /d says we are using directory names.
The %a is the variable name, substituted
into the command script for XCOPY. Make
sure to use whatever logical name or drive
letter you have for your archive structure.
(ie. don't use h: in the above command,
unless you have mapped h: to the place on
the network where you want to copy your
files to.) And note, the /y option means
overwrite any files already there.
Да, это старый Unix / DOS, но он работает,
Вы можете поместить это в пакетную работу. И вы можете избежать
мышонок, чтобы сделать работу. (Укажи, щелкни, хрюкни, прокляни.
Повторение. Канонический процесс использования графического интерфейса, верно?)
Теперь есть много причудливых способов сделать это. И различные
такие утилиты, как Robocopy, XXcopy и так далее. Но это понятно
сделано, и если у вас есть какая-либо копия Windows, вы, вероятно,
уже есть вещи XCOPY и FOR-DO. Всего наилучшего.
О, если вы вставите две команды в пакетное задание, то вы
должны настроить синтаксис для двух уровней команды
замена (я думаю, это правильный термин).
пример партии:
REM --- copy the "fark*" files to the archive disk h:
@echo off
REM --- create/update the structure
xcopy fark* h: /s /e /f /t
REM --- copy over the fark* dirs, and all associated subdirs
for /d %%a in (fark*) do xcopy "%%a" "h:%%a\" /s /e /f /h /k /y
- Русь Будущее
18 апреля 2012 года