Войти

Показать полную графическую версию : [Решено] Написать батник для копирования одного файла во многие папки рекурсивно.


Iodine
08-12-2008, 10:31
Здравствуйте!
Недавно встала такая задача, написать батник для обработки данных. Каждый файл данных хранится в своей папке. Имеется: написанная кем-то прога на C++, которая этой обработкой собственно и занимается. Требуется: скопировать эту прогу в каждую папку и выполнить её там. (Или может есть вариант попроще?)
В общем обратная задача этой темы: http://forum.oszone.net/thread-89709.html
Я пытался сделать так:
FOR /D /r %%i IN (C:\OBR\*) DO COPY %%i\*.EXE (без задания пути назначения)
и так тоже
FOR /D /r %%i IN (C:\OBR\*) DO COPY %%i\*.EXE %CD% (вроде бы задан путь назначения - current directory)
Но так почему-то не получается. :( Может кто-нить поможет?

Petya V4sechkin
08-12-2008, 11:24
Требуется: скопировать эту прогу в каждую папку и выполнить её там.
вроде бы задан путь назначения - current directory
Второе предложение противоречит первому.
Что, откуда и куда копируете?

Iodine
09-12-2008, 02:05
Есть допустим папка "C:\OBR" в ней лежат такие файлы: MATRIX.EXE, USRNTV.EXE. В этой же папке есть сабфолдеры с разными названиями, одни типа "C:\OBR\06150326", другие "C:\OBR\N5_2095" и т.д. Требуется взять файлы экзешники, скопировать в каждую папку и запустить их в той папке.

amel27
09-12-2008, 07:15
взять файлы экзешники, скопировать в каждую папку и запустить их в той папке »
For /R %%i In (.) Do Copy *.exe "%%i"
For /R %%i In (*.exe) Do (
PUSHD %%~dpi
If /I Not "%%~dpi"=="%~dp0" CMD /C "%%i"
POPD
)

Iodine
09-12-2008, 12:01
Спасибо, все работает! :)

shadowbat
20-05-2010, 22:31
amel27,
я только что зарегестрировался только ради того, чтобы выразить благодарность!

мне нужно было только скопировать
For /R %%i In (.) Do Copy *.exe "%%i"
работает !

быстро, просто и четко! спасибо!




© OSzone.net 2001-2012