Компьютерный форум 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=125334)

Iodine 08-12-2008 10:31 975249

[Решено] Написать батник для копирования одного файла во многие папки рекурсивно.
 
Здравствуйте!
Недавно встала такая задача, написать батник для обработки данных. Каждый файл данных хранится в своей папке. Имеется: написанная кем-то прога на 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 975310

Цитата:

Цитата Iodine
Требуется: скопировать эту прогу в каждую папку и выполнить её там.

Цитата:

Цитата Iodine
вроде бы задан путь назначения - current directory

Второе предложение противоречит первому.
Что, откуда и куда копируете?

Iodine 09-12-2008 02:05 976038

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

amel27 09-12-2008 07:15 976077

Цитата:

Цитата Iodine
взять файлы экзешники, скопировать в каждую папку и запустить их в той папке »

Код:

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 976231

Спасибо, все работает! :)

shadowbat 20-05-2010 22:31 1417688

amel27,
я только что зарегестрировался только ради того, чтобы выразить благодарность!

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

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


Время: 19:01.

Время: 19:01.
© OSzone.net 2001-