Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Пакетная замена файлов одним файлом (http://forum.oszone.net/showthread.php?t=301817)

aa1982 29-06-2015 15:12 2523811

Пакетная замена файлов одним файлом
 
Здравствуйте форумчане. Помогите, пожалуйста, решить следующую задачу с помощью BAT-файла (если это возможно):
1. Есть папка "dds_files" с подкаталогами в них файлы *.dds
2. Есть один файл transparent.dds (пустышка с прозрачным слоем) к примеру будет находиться в папке с BAT-файлом.
3. Необходимо найти все файлы *.dds заменить на transparent.dds НО оставить оригинальное название файла. т.е. переименовать transparent.dds в оригинальное название замененного файла *.dds
архив с файлами

Для большего понимания структуры каталогов/файлов кусочек лога:

D:\dds_files\content\Buildings\bld000_base\bld000_base.dds
D:\dds_files\content\Buildings\bld000_base\bld000_base.dds
D:\dds_files\content\Buildings\bld000_base\bld000_base_NM.dds
D:\dds_files\content\Buildings\bld000_base\bld000_base_SM.dds
D:\dds_files\content\Buildings\bld002_MiddleWoodShed\bld002_MiddleWoodShed.dds
D:\dds_files\content\Buildings\bld002_MiddleWoodShed\bld002_MiddleWoodShed_crash1.dds
D:\dds_files\content\Buildings\bld002_MiddleWoodShed\bld002_MiddleWoodShed_crash1_NM.dds
D:\dds_files\content\Buildings\bld002_MiddleWoodShed\bld002_MiddleWoodShed_crash1_SM.dds
D:\dds_files\content\Buildings\bld002_MiddleWoodShed\bld002_MiddleWoodShed_NM.dds
D:\dds_files\content\Buildings\bld002_MiddleWoodShed\bld002_MiddleWoodShed_SM.dds
D:\dds_files\content\Buildings\bld003_LittleWoodShed\bld003_LittleWoodShed.dds
D:\dds_files\content\Buildings\bld003_LittleWoodShed\bld003_LittleWoodShed_crash1.dds
D:\dds_files\content\Buildings\bld003_LittleWoodShed\bld003_LittleWoodShed_NM.dds
D:\dds_files\content\Buildings\bld003_LittleWoodShed\bld003_LittleWoodShed_SM.dds
D:\dds_files\content\Buildings\bld004_LittleStoneShed\bld004_LittleStoneShed.dds
D:\dds_files\content\Buildings\bld004_LittleStoneShed\bld004_LittleStoneShed_NM.dds
D:\dds_files\content\Buildings\bld004_LittleStoneShed\bld004_LittleStoneShed_SM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4101_chouse_UV2.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_crash.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_crash_base.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_crash_base_NM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_crash_base_SM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_crash_NM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_crash_SM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_details.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_details_NM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_details_SM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_roof_base.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_roof_base_NM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_roof_base_SM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_wall_1.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_wall_1_NM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_05_12_11_wall_1_SM.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4103_chouse_UV2.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4105_chouse_UV2.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4111_thouse_crash_UV2.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4111_thouse_UV2.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4112_thouse_crash_UV2.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4112_thouse_UV2.dds
D:\dds_files\content\Buildings\bld403_chouse\bld41_lods.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4506_coverleft1_UV2.dds
D:\dds_files\content\Buildings\bld403_chouse\bld4507_coverleft2_UV2.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_crash_base.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_crash_base_NM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_crash_base_SM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_details.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_details_NM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_details_SM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_roof_base.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_roof_base_NM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_roof_base_SM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_UV2.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_wall1.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_wall1_NM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_wall1_SM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_wall2.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_wall2_NM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4107_ahouse_wall2_SM.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4108_ahouse_UV2.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4109_ahouse_UV2.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4113_thouse_crash_UV2.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4113_thouse_UV2.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4115_town_hall_UV2.dds
D:\dds_files\content\Buildings\bld407_ahouse\bld4117_halfmoon_house_crash_UV2.dds
D:\dds_files\content\Buildings\bld407_ahouse\Bld4504_coverright1_UV2.dds
D:\dds_files\content\Buildings\bld407_ahouse\Bld4505_coverright2_UV2.dds

и таких файлов очень много 11500 шт.


Очень прошу помогите пожалуйста если такое возможно реализовать! Замена на пустой файл путем создания пустышки по оригиналу не подходит, нужно чтобы файл был с тектстурой (т.е. открывался) для этого и нужен transparent.dds.

Elven 29-06-2015 15:30 2523819

Код:

forfiles /s /p D:\dds_files\content /m *.dds /c "cmd /c xcopy /y d:\dds_files\transparent.dds @path"

aa1982 29-06-2015 15:47 2523832

Elven, спасибо большое!!! как раз то что нужно!! Оперативно, только создал тему сразу откликнулись, до этого инет шерстил пару суток ))

max_eazy@vk 31-08-2020 18:30 2932583

Братан, спасибо большое! Ты очень помог мне)) благодаря тебе я сэкономил 10 часов)


Время: 06:31.

Время: 06:31.
© OSzone.net 2001-