sharky lions
07-04-2011, 15:34
задача:
Дано:
скрипт, копирующий файлы из папки orig в папки test1, test2, test3 и т.д.
copy C:\Users\user\Desktop\Orig\*.* C:\Users\user\Desktop\test1 /y
copy C:\Users\user\Desktop\Orig\*.* C:\Users\user\Desktop\test2 /y
...
Требуется:
брать строку адреса для копирования из файла txt (пусть будет copy_to.txt)
т.к. приведён тестовый батник, в реале требуется копировать в n-ное количество мест,
адреса которых не подчинятся столь строгой логике, т.е. нет возможности применить маску...
структура списка подразумевается построчная (один путь = одна строка) возможен замыкающий элемент списка типа "end" для завершения цикла
C:\Users\user\Desktop\test1
C:\Users\user\Desktop\test2
...
D:\*\*\*\testn
end
заранее огромное спасибо!
и ещё один вопрос, как получить список тех самых путей в ТХТ файл? если известно что у них есть одна общая особенность - подпапка с одинаковым названием (решение с привязкой батника к названию папки сразу, не катит - требуется высокоинтеллектуальная обработка путей, т.к. не все из них должны быть "отоварены")
в принципе, последнюю задачу можно свести к обработке группы ярлыков в отдельной папке, получить данную группу ярлыков очень просто с помощью встроенной функции поиска и отправки ярлыков на рабочий стол ))) задача остаётся открытой для случаев, когда список ярлыков перестаёт помещаться на рабочем столе )))
____________________________________________________________________________________________________ ________
решение для задачи №1
@Echo Off
:: Файл-список. Список директорий без завершающих слешей.
:: Если в списке используется кириллица, то кодировка файл-списка должна быть DOS (866)
Set filelist=e:\Temp 1\copy_to.txt
:: Исходная папка
Set folder=C:\Users\user\Desktop\Orig
For /F "tokens=* usebackq" %%i In ("%filelist%") Do xCopy "%folder%\*" "%%i" /Y /I >Nul »
решение для задачи №2
dir/s/b/ad "c:\*папка"|findstr/ie "\\папка">file.txt »
Дано:
скрипт, копирующий файлы из папки orig в папки test1, test2, test3 и т.д.
copy C:\Users\user\Desktop\Orig\*.* C:\Users\user\Desktop\test1 /y
copy C:\Users\user\Desktop\Orig\*.* C:\Users\user\Desktop\test2 /y
...
Требуется:
брать строку адреса для копирования из файла txt (пусть будет copy_to.txt)
т.к. приведён тестовый батник, в реале требуется копировать в n-ное количество мест,
адреса которых не подчинятся столь строгой логике, т.е. нет возможности применить маску...
структура списка подразумевается построчная (один путь = одна строка) возможен замыкающий элемент списка типа "end" для завершения цикла
C:\Users\user\Desktop\test1
C:\Users\user\Desktop\test2
...
D:\*\*\*\testn
end
заранее огромное спасибо!
и ещё один вопрос, как получить список тех самых путей в ТХТ файл? если известно что у них есть одна общая особенность - подпапка с одинаковым названием (решение с привязкой батника к названию папки сразу, не катит - требуется высокоинтеллектуальная обработка путей, т.к. не все из них должны быть "отоварены")
в принципе, последнюю задачу можно свести к обработке группы ярлыков в отдельной папке, получить данную группу ярлыков очень просто с помощью встроенной функции поиска и отправки ярлыков на рабочий стол ))) задача остаётся открытой для случаев, когда список ярлыков перестаёт помещаться на рабочем столе )))
____________________________________________________________________________________________________ ________
решение для задачи №1
@Echo Off
:: Файл-список. Список директорий без завершающих слешей.
:: Если в списке используется кириллица, то кодировка файл-списка должна быть DOS (866)
Set filelist=e:\Temp 1\copy_to.txt
:: Исходная папка
Set folder=C:\Users\user\Desktop\Orig
For /F "tokens=* usebackq" %%i In ("%filelist%") Do xCopy "%folder%\*" "%%i" /Y /I >Nul »
решение для задачи №2
dir/s/b/ad "c:\*папка"|findstr/ie "\\папка">file.txt »