Как скопировать имя файла из текстового файла в код батника и т.д.
Задача вот какого рода: есть текстовый файл с перечнем имён exe-файлов, которые нужно распаковать с ключами /Q /C /T:C:\Temp. Сложность здесь в том, что необходимо имена exe-шников взять из этого текстового файла и вставить в батник, прчём текстовый файл расположен в одной папке, exe-шники в другой, а распаковать их нужно каждый в свою отдельную временную папку (это чтобы не перезаписывалось одноимённое содержимое, извлечённое из разных exe-шников).
|
Vadikan, нет, это не подходит. Там же использовалась внешняя программа wget, обрабатывающая строки с URL, а в моём случае строки - это имена exe-файлов и тут для распаковки должен запускаться каждый exe-шник с нужными ключами, а как это сделать корректно - не знаю. Всё, что мне по этому поводу удалось найти приводит к распаковке в одну общую папку с перезаписью извлечённых файлов. Видимо нужен вариант без использования команды FOR или какое-нибудь более сложное её применение.
|
Цитата:
Цитата Nun-Nun
это не подходит. Там же использовалась внешняя программа wget, обрабатывающая строки с URL »
|
Не вижу разницы.
Код:
@Echo Off
SetLocal EnableExtensions
Set FN=input.txt
For /F "Delims=" %%I In (%FN%) Do %%I /Q /C /T:C:\Temp
|
Цитата:
Цитата Nun-Nun
а распаковать их нужно каждый в свою отдельную временную папку »
|
Тогда так:
Код:
@Echo Off
SetLocal EnableExtensions
Set FN=input.txt
For /F "Delims=" %%I In (%FN%) Do md C:\Temp\%%I & %%I /Q /C /T:C:\Temp\%%I
|
Vadikan, вот спасибо! Действительно работает!
Если не сложно, ответьте ещё на такой вопрос: во временные папки были извлечены файлы, в том числе файлы .msp, которые необходимо переименовать в соответствии с именами exe-шников и перенести в отдельную общую папку. Как это сделать?
|
Ура, всё получилось!!!!!!!
Код:
Set NamePathTemp=C:\Temp\Temp
Set NamePath=C:\Temp
MD %NamePathTemp%
Dir /b *.exe >"%NamePathTemp%\1.txt"
For /F "Delims=" %%I In (%FN%) Do md %NamePathTemp%\%%~nI & %%I /Q /C /T:C:\Temp\Temp\%%~nI & REN %NamePathTemp%\%%~nI\*.msp %%~nI.msp & Move %NamePathTemp%\%%~nI\*.msp %NamePath% & RD /S /Q %NamePathTemp%
|
Время: 18:45.
© OSzone.net 2001-