Если у меня есть файл C:\foo.txt
, я хочу рекурсивно найти в C:\OtherDir
файлы, соответствующие foo.txt
и заменить их на C:\foo.txt
.
Это возможно?
Если у меня есть файл C:\foo.txt
, я хочу рекурсивно найти в C:\OtherDir
файлы, соответствующие foo.txt
и заменить их на C:\foo.txt
.
Это возможно?
Вы можете использовать команду DOS REPLACE
ЗАМЕНИТЕ [d:] [путь] имя файла [d:] [путь] [/A] [/P] [/R] [/S] [/U] [/W]
Назначение: заменяет сохраненные файлы файлами с одинаковыми именами из другого места хранения.
Эта команда заменяет файлы с целевым обозначением пути на файлы с тем же именем в исходном местоположении. Вы можете использовать символы подстановки (? и *) указывать группы имен файлов в исходных каталогах. Вы НЕ МОЖЕТЕ использовать эту команду для замены скрытых файлов или системных файлов.
Опции
/A - добавляет файлы, указанные в обозначении исходного пути, которые НЕ существуют в целевом обозначении пути. Используя эту опцию, вы можете выборочно добавлять файлы в каталог: это не повлияет на файл с исходным обозначением пути, имя которого совпадает с именем файла на целевом обозначении. Этот параметр нельзя использовать в сочетании с параметром /S.
/P - отображает подсказку перед заменой каждого файла, позволяя вам решать для каждого файла в отдельности, разрешить или нет замену.
/R - заменяет файлы только для чтения и незащищенные файлы в целевом каталоге. Без этой опции любая попытка ЗАМЕНИТЬ файл, доступный только для чтения, приведет к сообщению об ошибке, и процесс замены прекратится.
/S - действует как на целевой каталог, так и на все подкаталоги в целевом каталоге. Вы не можете использовать параметр /A вместе с этим параметром.
/U - заменяет файлы на целевом диске или в каталоге, которые старше, чем их аналоги на исходном диске.
/W - ждет, пока вы вставите диск, прежде чем начинать процесс замены.
Примеры
заменить * .dat a: /u
«/ U» очень важно. Это означает "обновить" и говорит команде замены копировать только те исходные файлы, которые (а) также находятся в целевом каталоге и (б) новее, чем их аналоги в целевом каталоге.
Вы также можете использовать замену, чтобы скопировать только те файлы, которые не существуют в каталоге назначения, то есть только новые файлы. Например:
заменить * .dat a: /a
Это интерпретируется как «копирование на диск a: всех файлов в текущем каталоге с расширением« .dat », которых еще нет на диске« a: ».
Чтобы поддерживать актуальную резервную копию всех файлов в данном каталоге жесткого диска, вы можете использовать следующую пару команд замены вместе:
заменить c:\india a:\india /u
заменить c:\india a:\india /a