Замена файла в несколько папок / подкаталогов - PullRequest
11 голосов
/ 22 июля 2010

Есть ли способ в командной строке взять один файл и скопировать его в другую папку, и его подкаталоги основаны на его имени?

У меня есть изображение с именем 5.jpg, которое было помещено в подпапку, которая находится в каждой папке в каталоге. Я хочу выполнить поиск внутри папки (со старым изображением) и ее подпапок и заменить все результаты новым изображением.

Ответы [ 2 ]

17 голосов
/ 21 января 2014

Возможно, есть еще один (более простой) способ.

Используйте команду замены:

replace C:\SourceFile.Txt C:\Some_Root_Folder_Whic_Contains_Multiple_SubFolders /s

Поскольку сама команда говорит, что она просто заменяет файл, который уже существовал в подкаталогах.

8 голосов
/ 22 июля 2010

Я не уверен, что полностью вас понял. Следующий код будет искать все вхождения 5.jpg во вложенных папках C: \ MyPath \ и заменяет их на C: \ NewImage \ 5.jpg. Я проверил это, поэтому оно должно работать.

FOR с параметром / R поможет вам здесь:

FOR /R C:\MyPath\ %%I IN (5.jpg) DO COPY /Y C:\NewImage\5.jpg %%~fI

Если вам нужна дополнительная информация о том, что делает FOR /R и что означает %%~fI, взгляните на FOR /? | more, который дает хорошие пояснения о новых возможностях Windows cmd, которые используются здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...