*.bat & *.cmd

  • Автор темы evn
  • Дата начала
evn

evn

LPD: Земля
Регистрация
27.07.2005
Сообщения
28 585
Реакции
189
Баллы
63
нужен пакетный файл, который бы копировал один файл в папки в дереве папок...
пример:
файл test.txt леит в корне диска "С:\"
дерево папок

D:\EVN\test1
D:\EVN\test1\zero
D:\EVN\test2
D:\EVN\test2\zero

файл test.txt надо скопировать в каждую папку "zero"

xcopy /s /d /Y /E /C C:\test.txt D:\EVN\*\*\*.* >> C:\log_.txt
писать много раз не айс....
 
Mazzay

Mazzay

Super Moderator
Регистрация
21.02.2007
Сообщения
77 150
Реакции
3 990
Баллы
113
А почему именно батник? vbs напиши.
 
Mazzay

Mazzay

Super Moderator
Регистрация
21.02.2007
Сообщения
77 150
Реакции
3 990
Баллы
113
Если будет папка "D:\EVN\zero", в неё копировать?
А если "D:\EVN\notest1\zero"?
А если "D:\EVN\test1\notest1\zero"?

Задача не понятна.
 
OP
evn

evn

LPD: Земля
Регистрация
27.07.2005
Сообщения
28 585
Реакции
189
Баллы
63
подумал..и решил упростить...копировать только в папку "zero" дерева папок "EVN"
ps без если....копировать по этому пути " D:\EVN\test\zero", где "test" абсолютно любое название.
 
Mazzay

Mazzay

Super Moderator
Регистрация
21.02.2007
Сообщения
77 150
Реакции
3 990
Баллы
113
подумал..и решил упростить...копировать только в папку "zero" дерева папок "EVN"
ps без если....копировать по этому пути " D:\EVN\test\zero", где "test" абсолютно любое название.

То есть в моём предыдущем вопросе получается, что копировать во всех случаях надо?

P.S. Как это "без если"? А если такие папки появятся?
 
OP
evn

evn

LPD: Земля
Регистрация
27.07.2005
Сообщения
28 585
Реакции
189
Баллы
63
игнорируется "D:\EVN\test1\notest1\zero"
ибо по пути \test1\notest1\ может быть только одна папка.
но это не имеет никакого отношения к делу...
 
OP
evn

evn

LPD: Земля
Регистрация
27.07.2005
Сообщения
28 585
Реакции
189
Баллы
63
То есть в моём предыдущем вопросе получается, что копировать во всех случаях надо?

P.S. Как это "без если"? А если такие папки появятся?
не появятся эт раз.второе.надо сначала решить в упрощенном варианте :):cannabis:
 
Mazzay

Mazzay

Super Moderator
Регистрация
21.02.2007
Сообщения
77 150
Реакции
3 990
Баллы
113
Код:
@echo off
for /F "tokens=2,3* delims=\" %%i in ('dir d:\EVN /AD /B /S') do if %%k==zero copy c:\test.txt d:\%%i\%%j\%%k
pause

Вместо "copy" поставь для начала "echo" – поймёшь, что происходит. Всё остальное, думаю, накрутишь.

P.S. Курил только "for /?" и "dir /?"
 
Последнее редактирование:
OP
evn

evn

LPD: Земля
Регистрация
27.07.2005
Сообщения
28 585
Реакции
189
Баллы
63
все равно не оно....
 
Последнее редактирование:
OP
evn

evn

LPD: Земля
Регистрация
27.07.2005
Сообщения
28 585
Реакции
189
Баллы
63
попробуй смоделируй ситуацию у себя на компе..все ясно станет :)
 
Mazzay

Mazzay

Super Moderator
Регистрация
21.02.2007
Сообщения
77 150
Реакции
3 990
Баллы
113
попробуй смоделируй ситуацию у себя на компе..все ясно станет :)

То, что ты написал, у меня копируется. :yes:

После выполнения батника у меня появились два файла:
d:\EVN\test1\zero\test.txt и d:\EVN\test2\zero\test.txt

До батника:
c:\test.txt
d:\EVN\evn_copy.cmd
d:\EVN\test1
d:\EVN\test2
d:\EVN\test1\zero
d:\EVN\test2\zero

После:

Скопировано файлов: 1.
Скопировано файлов: 1.
Для продолжения нажмите любую клавишу . . .
c:\test.txt
d:\EVN\evn_copy.cmd
d:\EVN\test1
d:\EVN\test2
d:\EVN\test1\zero
d:\EVN\test1\zero\test.txt
d:\EVN\test2\zero
d:\EVN\test2\zero\test.txt
 
Последнее редактирование:
OP
evn

evn

LPD: Земля
Регистрация
27.07.2005
Сообщения
28 585
Реакции
189
Баллы
63
разобралси...спасибо :)
 
OP
evn

evn

LPD: Земля
Регистрация
27.07.2005
Сообщения
28 585
Реакции
189
Баллы
63
оно ...точно :)
щас подогнал под свои условия.....шикарно усе :)
 
Верх Низ