Дублирование и переименование файлов из командной строки (Windows) - PullRequest
0 голосов
/ 17 января 2012

У меня есть родительская папка myfiles, которая содержит несколько дочерних папок.У каждого из этих детей есть свой собственный file1.txt

. Мне нужно сделать копию file1.txt и переименовать каждый в file2.txt в каждой соответствующей дочерней папке (мне нужно сделать это с помощью командыв Windows).

Цель состоит в том, чтобы каждая дочерняя папка содержала file1.txt и file2.txt

Я почти получил это с:

for /r %G in (file1.txt) DO copy %G file2.txt

Эта команда будет проходить в цикле (при запуске из родительского расположения myfiles), искать любой экземпляр file1.txt и делать копию, переименованную в file2.txt

Но проблема в том, что вместо этогофайл file2.txt создается внутри каждого соответствующего дочернего каталога, он создается внутри родительского каталога (и, следовательно, каждый раз просит меня перезаписать себя).

Я знаю, что я близок, но любая помощь будетбольшой.

1 Ответ

0 голосов
/ 17 января 2012

Это был бы быстрый и грязный способ:

for /r %%a in (file1.txt) do (
    copy "%%a" "%%a.TMP"
    ren "%%a.TMP" "file2.txt"
)

Приведенный выше фрагмент создаст копию в правильный каталог с добавленным .TMP, а затем переименует копию в file2.txt.

...