Top.Mail.Ru
Ответы
Аватар пользователя
1мес
Аватар пользователя
Аватар пользователя
Просто установи
+1

Скрипт для windows (bat-файл)

Добрый день, не подскажете скрипт для копирования пустой папки во все папки внутри каталога?

@echo off

for /D %%a in ("C:\Data\*.*") do xcopy /y /d "D:\Im.jpg" "%%a"

Только этот скрипт для копирования файла или папки в которой есть файл, а мне нужно скопировать папку в которой нет файлов.

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект
1мес

зачем КОПИРОВАТЬ пустую папку, если можно создать пустую папку?

for /d %i in (D:\путь\*) do md "%~fi\folder"


Аватар пользователя
Мудрец
1мес

Вот BAT-скрипт, который копирует пустую папку во все подпапки указанного каталога:

1234567
@echo off
set "source_folder=C:\Путь\к\пустой\папке"  <- Замените на путь к вашей пустой папке
set "target_root=C:\Data"                  <- Замените на корневой каталог, куда копировать

for /D %%a in ("%target_root%\*") do (
    robocopy "%source_folder%" "%%a" /E /COPYALL /xj
)

Как это работает:

  1. source_folder — путь к пустой папке, которую нужно копировать.

  2. target_root — корневая папка, в которой находятся подпапки для вставки.

  3. robocopy — надежная утилита для копирования (есть во всех современных Windows).

    • /E — копирует пустые папки.

    • /COPYALL — сохраняет атрибуты (дату создания и т.д.).

    • /xj — исключает симлинки (чтобы не копировать лишнее).

Важно:

  • Скрипт не перезаписывает существующие папки с таким же именем.

  • Если нужно перезаписать, добавьте ключ /MIR вместо /E (но это удалит всё в целевых папках!).