|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Копирование в папку где знаем только часть имени |
|
CMD/BAT - Копирование в папку где знаем только часть имени
|
Новый участник Сообщения: 7 |
Господа, подскажите, а то немного запутался.
Есть задача копировать файлы, папки, и подпапки с содержимым (грубо все содержимое одной папки), из конкретного места, допустим d:\update в папку на диске d:\ где мы знаем только часть имени. Примерно в d:\*_run Вот такой вариант копирует только файлы. for /f %%i in ('dir /b /s D:\*_run') do xcopy D:\update\* %%i Однако мне нужно полное копирование всего. Подскажите нубу, что не так? |
|
Отправлено: 14:03, 23-10-2017 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Правка
выглядит это вот так for /f %%i in ('dir /b /s D:\*_run') do copy D:\update\* %%i |
Отправлено: 14:07, 23-10-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Jeri20, Читайте хелп команды xcopy /?. Там описаны ключи /S и /E. Мой вариант Вашей задачи:
Естественно, укажите свои пути вместо моих. Если под указанную маску попадут несколько выходных папок, выберется самая последняя по использованию (читаем хелп - ключи команды dir /?)
|
------- Отправлено: 14:49, 23-10-2017 | #3 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Я читаю команды к xcopy
В приведенном вами варианте целевая папка имеет постоянное известное имя. В моем случае папка куда надо копировать, имеет только часть известного имени. Предложенный вами вариант в моем случае вываливается ничего не делая и не показывая ошибку даже через pause |
Отправлено: 14:56, 23-10-2017 | #4 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Есть папка e:\update Копирование файлов, папок и подпапок с содержимым происходит именно из этого источника Есть папка e:\тутмынезнаемчастьмимен_688 - в эту папку надо все копировать. В вашем примере все наоборот. Как я понимаю у вас BoxIn - куда, BoxOut - откуда. Стоит поменять их местами и все крашится. |
||
Отправлено: 15:13, 23-10-2017 | #5 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
@Echo Off Set "BoxIn=E:\update" --- откуда Set "BoxOut=E:\*_s" - куда Call :CopyDir "%BoxIn%" "%BoxOut%" GoTo :Eof :CopyDir FOR /F "usebackq delims=" %%d IN (`Dir "%~2" /B /A:D /O:-D /T:A 2^>nul`) DO ( Xcopy "%~1" "%~dp2%%~nxd\" /E /Y GoTo :Eof ) GoTo :Eof pause И ничего не происходит. От слова совсем. |
|
Отправлено: 15:22, 23-10-2017 | #6 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Jeri20, У Вас папка траляля_s в корне E:\ ? Или где-то в подпапке диска E:\ ? Выполните команду:
dir "E:\*_s" /A:D >E:\aaaa и покажите, что в файле E:\aaaa Jeri20, Если папка с частично известным именем где-то в подпапке указанного диска, то вот вариант: Оба варианта рабочие, если правильно применяются |
------- Последний раз редактировалось megaloman, 23-10-2017 в 15:39. Отправлено: 15:32, 23-10-2017 | #7 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
папака таряляля_s в корне Мне нужно копировать содержимое папки e:\update Лог по запросу пишет Содержимое папки E:\ 23.10.17 13:06 <DIR> zzz_s 0 файлов 0 байт 1 папок 72*904*704 байт свободно |
|
Отправлено: 15:40, 23-10-2017 | #8 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Jeri20,
Вот отладочный батник, допустим, называется kuku.bat
@Echo Off Set "BoxIn=E:\update" Set "BoxOut=E:\*_s" Call :CopyDir "%BoxIn%" "%BoxOut%" GoTo :Eof :CopyDir echo %1 Dir %1 echo %2 Dir %2 /A:D echo On FOR /F "usebackq delims=" %%d IN (`Dir "%~2" /B /A:D /O:-D /T:A`) DO ( echo Xcopy "%~1" "%~dp2%%~nxd\" /E /Y Xcopy "%~1" "%~dp2%%~nxd\" /E /Y GoTo :Eof ) GoTo :Eof |
------- Последний раз редактировалось megaloman, 23-10-2017 в 16:03. Отправлено: 15:52, 23-10-2017 | #9 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Мистика какая-то |
|
Отправлено: 15:52, 23-10-2017 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Скопировать в папку, зная только часть ее Имени | magarjoba | Скриптовые языки администрирования Windows | 9 | 15-02-2017 11:12 | |
CMD/BAT - Заархивировать папку через БАт, но только ее содержимое,а не саму папку. | iphone1337 | Скриптовые языки администрирования Windows | 2 | 02-11-2014 12:28 | |
CMD/BAT - записать в txt файл только часть имени файла. | Spacejet | Скриптовые языки администрирования Windows | 2 | 20-10-2014 18:18 | |
CMD/BAT - [решено] Копирование файла в папку содержащую в имени определенные буквы | I-Cube | Скриптовые языки администрирования Windows | 3 | 14-11-2012 18:40 | |
CMD/BAT - [решено] часть имени файла | LAKERS824 | Скриптовые языки администрирования Windows | 3 | 29-06-2012 08:02 |
|