CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.

Ответить
Аватара пользователя
Nun-Nun

CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.

Сообщение Nun-Nun »

Задача вот какого рода: есть текстовый файл с перечнем имён exe-файлов, которые нужно распаковать с ключами /Q /C /T:C:\Temp. Сложность здесь в том, что необходимо имена exe-шников взять из этого текстового файла и вставить в батник, прчём текстовый файл расположен в одной папке, exe-шники в другой, а распаковать их нужно каждый в свою отдельную временную папку (это чтобы не перезаписывалось одноимённое содержимое, извлечённое из разных exe-шников).
Аватара пользователя
Nun-Nun

Re: CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.

Сообщение Nun-Nun »

Vadikan, нет, это не подходит. Там же использовалась внешняя программа wget, обрабатывающая строки с URL, а в моём случае строки - это имена exe-файлов и тут для распаковки должен запускаться каждый exe-шник с нужными ключами, а как это сделать корректно - не знаю. Всё, что мне по этому поводу удалось найти приводит к распаковке в одну общую папку с перезаписью извлечённых файлов. Видимо нужен вариант без использования команды FOR или какое-нибудь более сложное её применение.
Аватара пользователя
Vadikan

Re: CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.

Сообщение Vadikan »

Цитата Nun-Nun:



это не подходит. Там же использовалась внешняя программа wget, обрабатывающая строки с URL
CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.




Не вижу разницы.



Код:

Код: Выделить всё

@Echo Off
SetLocal EnableExtensions
Set FN=input.txt
For /F "Delims=" %%I In (%FN%) Do %%I /Q /C /T:C:\Temp
Аватара пользователя
Vadikan

Re: CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.

Сообщение Vadikan »

Цитата Nun-Nun:



а распаковать их нужно каждый в свою отдельную временную папку
CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.




Тогда так:



Код:

Код: Выделить всё

@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
Аватара пользователя
Nun-Nun

Re: CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.

Сообщение Nun-Nun »

Vadikan, вот спасибо! Действительно работает!

Если не сложно, ответьте ещё на такой вопрос: во временные папки были извлечены файлы, в том числе файлы .msp, которые необходимо переименовать в соответствии с именами exe-шников и перенести в отдельную общую папку. Как это сделать?
Аватара пользователя
Nun-Nun

Re: CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.

Сообщение Nun-Nun »

Ура, всё получилось!!!!!!!





Код:

Код: Выделить всё

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%
Ответить

Вернуться в «Скриптовые языки администрирования Windows»