Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Windows
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2019, 14:43   #1
vitalyoleg
Пользователь
 
Регистрация: 18.10.2018
Сообщений: 25
По умолчанию как изменить программу что-бы копировалить файлы только из папок находящихся внутри tech а не весь диск?

как изменить программу что-бы копировались файлы только из папок находящихся внутри tech а не весь диск?

set to=C:\tech
set mask=*.jpg
if not exist "%to%" md "%to%"
for /f "skip=1" %%i in ('wmic logicaldisk where drivetype^=3 get name') do call :f1 %%i\
exit
:f1
for /r %1 %%j in (.) do call :f2 "%%j"
exit /b
:f2
set n=%~1
set n=%n:~0,-1%
for /f "delims=" %%i in ('dir "%n%%mask%" /a-d /b') do copy /y "%n%%%i" "%to%"
exit /b

Последний раз редактировалось vitalyoleg; 26.04.2019 в 15:14.
vitalyoleg вне форума Ответить с цитированием
Старый 26.04.2019, 14:47   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Куда копировались? Почему код делает ровно наоборот?
p51x вне форума Ответить с цитированием
Старый 29.04.2019, 10:54   #3
vitalyoleg
Пользователь
 
Регистрация: 18.10.2018
Сообщений: 25
По умолчанию

необходимо все jpg файлы находящиеся в подпапках в папке tech скопировать в папку tech
vitalyoleg вне форума Ответить с цитированием
Старый 29.04.2019, 12:02   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от vitalyoleg Посмотреть сообщение
необходимо все jpg файлы находящиеся в подпапках в папке tech скопировать в папку tech
я не мастер по командным файлам, но "ломать — не строить"

Поэтому, если совсем по простому, то можно попробовать так:
Код:
set to=C:\tech\
set mask=*.jpg
for /f "delims=" %%i in ('dir "%to%%mask%" /a-d /s /b') do copy /y "%%i" "%to%"
НО!!
косяк первый: файлы, которые лежат в корте папки TECH будут пытаться скопированы сами в себя. Что не выйдет и будет выдано сообщение вида:
Цитата:
Код:
C:\tech>copy /y "C:\tech\1.jpg" "C:\tech\"
Невозможно скопировать файл поверх самого себя.
Скопировано файлов:         0.
косяк второй: если в разных подпапках лежат файлы с одинаковым именем, то будет скопирован только один из файлов (точнее будут скопированы все в одно имя, с перезаписью - поэтому останется только один файл с таким именем).

Последний раз редактировалось Serge_Bliznykov; 29.04.2019 в 12:04.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.04.2019, 12:13   #5
vitalyoleg
Пользователь
 
Регистрация: 18.10.2018
Сообщений: 25
По умолчанию

_____________
vitalyoleg вне форума Ответить с цитированием
Старый 29.04.2019, 12:21   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от vitalyoleg Посмотреть сообщение
_____________
что Вы этим пытались сказать?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.04.2019, 12:21   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что и откуда скопировать надо?

Скорее всего это решается намного проще с robocopy.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.04.2019, 13:39   #8
vitalyoleg
Пользователь
 
Регистрация: 18.10.2018
Сообщений: 25
По умолчанию

спасибо

есть файл goods.xml как скопировать значение тэга <a></a> перед последующим значением тэга <></>

т.е. получить
<a>020701BT</a>
<>710f7fa45c6911e9648d2cfda1bf577 d</>
<a>020701BT</a>
<>cde9bde81a5b11e96b882cfda1bf577 d</>
<a>020701BT</a>
<>d266b9021a5b11e96b882cfda1bf577 d</>
<a>040109GT</a>
<>2af8db480fca11e71a9a14187734140 9</>
<a>040109GT</a>
<>2d2190400fca11e71a9a14187734140 9</>


файл goods.xml

<a>020701BT</a>
<>710f7fa45c6911e9648d2cfda1bf577 d</>
<>cde9bde81a5b11e96b882cfda1bf577 d</>
<>d266b9021a5b11e96b882cfda1bf577 d</>
<a>040109GT</a>
<>2af8db480fca11e71a9a14187734140 9</>
<>2d2190400fca11e71a9a14187734140 9</>
<a>7696</a>
<>670cfeec16b111e6cd8f14187734140 9</>
<a>040109WT</a>
<>247423900fca11e71a9a14187734140 9</>
<>26f38bba0fca11e71a9a14187734140 9</>
<a>7928</a>
<>bb94fcb8024711e6d09d14187734140 9</>
<a>1654-155-26</a>
<>30fb1dbcb39b11e55f8314187734140 9</>
<a>A94</a>
<>300b265a170211e8f09714187734140 9</>
<a>A92/950</a>
<>2a08886a170211e8f09714187734140 9</>
vitalyoleg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить цвет шрифта с белого на черный на панели задач и в названии файлов и папок, находящихся на рабочем столе? Windpws 8.1. Бахтиёр1916 Windows 4 28.03.2017 18:57
Растянуть Timage(с картинкой внутри) на весь экран монитора. bakanaev Общие вопросы Delphi 3 08.12.2012 19:15
Нужно изменить программу с массивов на типизированные файлы ToType Паскаль, Turbo Pascal, PascalABC.NET 1 22.06.2012 02:03
изменить имя компьютера находящихся в домене Hint_reg Общие вопросы Delphi 2 21.06.2012 10:28
Вычислить количество точек с целочисленными координатами, находящихся внутри кольца, радиусом от R1 до R2>0 ( Паскаль((( ) Дашуля_18 Помощь студентам 4 25.03.2012 23:43