--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

задача - множественное копирование файла.

Нужен совет (поиск решения проблемы. не для купли-продажи)
45
23
С друзьями на NN.RU
В социальных сетях
Поделиться
Deathmaker
11.10.2011
Дано:
1) имеем файл xxx.yyy
2) имеем множество папок (числом под сотню) с вложенными в них папками в разном количестве и глубиной вложения

Требуется:
чтобы файл xxx.yyy появился в каждой из этих папок.

Сваяйте мне скриптик плз? Или ткните в прогу, делающую сие.
если в именах файлов нет пробелов и прочей ереси -

for /f "tokens=* usebackq" %%i in (`dir /b /s /a:d *`) do (
copy cool_file.txt %%i
)


(cool_file.txt поменять на имя исходного файла)

Ща подумаю, как обойтись если есть пробелы и всякие буквы...
Просто %%i в кавычки взять:

for /f "tokens=* usebackq" %%i in (`dir /b /s /a:d *`) do (
copy cool_file.txt "%%i"
)

Upd - это виндовый бат-ник, тестировал в XP
еще проще:

for /r %%i in (.) do (
copy cool_file.txt "%%i"
)
результат
К сообщению прикреплен файл:
40913956-bezimjnniy.bmp   (15 Kb)   Скачать файл
Это точно мне? У меня не vbs, а bat

А вот что оно должно ещё и на \\server\share работать - хз, не проверял ))
for /r \\192.168.13.3\hdd1\music %%i in (.) do (
copy coolfile.txt "%%i"
)
каталоги исправно пролистывает, но пишет "не удается найти указанный файл", хотя файл лежит рядом с батником
имя файла из 8 знаков :о)
.
Хм. Так, конечно, не очень понятно, он не может найти файл-источник или файл-назначение.
Если первое, тогда тупо поправить

copy имяфайла ...
на
copy путь_к_файлу\имяфайла ...
s1aw!ck
11.10.2011
. :)
О! Сенькс!
s1aw!ck
11.10.2011
Попробуй ишшо ниже скриптик мой)) Там без черных окошок :-)
да мне и этот годится
пасиб
s1aw!ck
11.10.2011
Например так, если сценарием:

Set fso = CreateObject(″Scripting.FileSystemObject″)
rootfolder = ″путь к корневой папке″
filename = ″имя файла″
CopyFiles fso.GetFolder(rootfolder)
Sub CopyFiles(folder)
For Each subfolder in folder.SubFolders
fso.CopyFile rootfolder & ″\″ & filename , subfolder & ″\″ & filename , true
CopyFiles subfolder
Next
End Sub

PS: Не тестил, но работать должен:)
s1aw!ck
11.10.2011
Да, при этом файлик должен лежать в корне папок.
Если это не так, то:

Set fso = CreateObject(″Scripting.FileSystemObject″)
rootfolder = ″путь к корневой папке вложенных папок″
filefolder = ″путь к папке где лежит файл″
filename = ″имя файла″
CopyFiles fso.GetFolder(rootfolder)
Sub CopyFiles(folder)
For Each subfolder in folder.SubFolders
fso.CopyFile filefolder & ″\″ & filename , subfolder & ″\″ & filename , true
CopyFiles subfolder
Next
End Sub
Слушай, а powershell - это примерно так же, или ещё каким-то совсем иным образом?)
s1aw!ck
11.10.2011
Мне powershell не доводилось поюзать. А ознакомление чет пока откладываю из за недостатка времени. Так что пока ниче конкретного не скажу, кроме как что это на первый взгляд более функциональный инструмент чем vbs.
тут по моему уровень вложенности всего один. а у ТС их может быть много, надо рекурсивный вызов прикручивать.
s1aw!ck
11.10.2011
Эээ, а разве это не рекурсия у меня? о_О
сорри, не доглядел :)
find ./ -type d -exec cp xxx.yyy "{}/" \;
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Материнские платы на запчасти и не только

Материнские платы на запчасти и не только Материнские платы и другие комплектующие Отправка в регионы после оплаты. Транспортной...
Цена: 3 000 руб.

Сетевой фильтр APC Surge Arrest

Сетевой фильтр APC Surge Arrest для радиолюбителя.и не только Отправка в регионы после оплаты. ЦЕНА 3000 руб. В рабочем состоянии....
Цена: 3 000 руб.

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9

Оперативная память Corsair XMS3 CMX8GX3M2A1600C9 Отправка в регионы после оплаты. Продаются сразу обе. Цена за обе 2000 руб....
Цена: 1 000 руб.

Принтер лазерный HEWLETT PACKARD HP-6L

Принтер лазерный HEWLETT PACKARD HP-6L Отправка в регионы после оплаты. 3штуки БУ. Внешний вид из магазина простояли на складе...
Цена: 4 500 руб.