Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.

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

Аватара для Nun-Nun

Ветеран


Сообщения: 2178
Благодарности: 292


Конфигурация

Профиль | Отправить PM | Цитировать


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

Отправлено: 23:36, 12-05-2009

 

(*.*)


Administrator


Сообщения: 34295
Благодарности: 5975

Профиль | Сайт | Отправить PM | Цитировать


Аналогичный вопрос [решено] Передача исполняемому файлу параметров, перечисленных в текстовом файле

-------
Канал Windows 10, etc | Чат @winsiders


Отправлено: 00:06, 13-05-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Nun-Nun

Ветеран


Сообщения: 2178
Благодарности: 292

Профиль | Отправить PM | Цитировать


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

-------
Свобода не означает вседозволенность.


Отправлено: 11:19, 13-05-2009 | #3


(*.*)


Administrator


Сообщения: 34295
Благодарности: 5975

Профиль | Сайт | Отправить PM | Цитировать


Цитата 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

-------
Канал Windows 10, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:53, 13-05-2009 | #4


(*.*)


Administrator


Сообщения: 34295
Благодарности: 5975

Профиль | Сайт | Отправить PM | Цитировать


Цитата 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

-------
Канал Windows 10, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:19, 13-05-2009 | #5


Аватара для Nun-Nun

Ветеран


Сообщения: 2178
Благодарности: 292

Профиль | Отправить PM | Цитировать


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

-------
Свобода не означает вседозволенность.


Последний раз редактировалось Nun-Nun, 13-05-2009 в 13:10.


Отправлено: 12:40, 13-05-2009 | #6


Аватара для Nun-Nun

Ветеран


Сообщения: 2178
Благодарности: 292

Профиль | Отправить PM | Цитировать


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

Код: Выделить весь код
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%

-------
Свобода не означает вседозволенность.


Отправлено: 13:28, 13-05-2009 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как скопировать имя файла из текстового файла в код батника и т.д.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Батник меняющий имя файла(как правильно переименовать)? ofcoss Скриптовые языки администрирования Windows 1 07-09-2009 12:53
[решено] Чтение текстового файла с неизвестным именем ZeroCrash AutoIt 4 01-07-2009 19:03
CMD/BAT - [решено] вывод текстового файла на экран cmd idsp Скриптовые языки администрирования Windows 6 06-04-2009 07:18
[решено] Как скопировать фрагмент текста из файла PDF Antonij Хочу все знать 12 04-02-2009 06:49
Borland C++ | Просмотр файла любого разрешения как текстового Mad Mouse Программирование и базы данных 1 28-01-2005 15:31




 
Переход