Пакет для перемещения файла в подкаталоги, исключая родительский каталог - PullRequest
1 голос
/ 25 марта 2019

У меня есть файл .otf, который я хотел бы скопировать во все подкаталоги родительской папки. Это то, что я пытался.

for /R %%x in (.) do copy "file.otf" "%%x"

Это работает по большей части, но также оставляет копию в родительской папке. Я хотел бы исправить это так, что пакетные копии копируются только во все подкаталоги.

1 Ответ

2 голосов
/ 25 марта 2019

Так как for /R %%x in (.) собирается вернуть родительский каталог в первой итерации, вы можете использовать флагоподобную переменную, чтобы пропустить команду copy при выполнении условия if в первом циклеитерация, подобная этой:

set "FLAG="
for /R %%x in (.) do (
    if defined FLAG (
        copy "file.otf" "%%~x"
    ) else (
        set "FLAG=#"
    )
)

Согласно Squashman комментарий , еще более простым вариантом будет использование for /D /R только для перечисленияподкаталоги:

for /D /R %%x in (*) do (
    copy "file.otf" "%%~x"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...