Пакетный файл Windows, который читает команды из текстового файла - PullRequest
1 голос
/ 02 ноября 2009

У меня есть этот файл test.txt со следующим содержимым:

@echo off
wget -q http://subs.ro/get/21518
move 21518 %userprofile%/Desktop/21518.zip
%userprofile%/Desktop/21518.zip

Этот файл сгенерирован javascript, и содержание сохраняет изменения. У меня есть следующий файл text.bat:

for /F "eol=; tokens=1* delims=" %%i in ( test.txt ) do %%i

проблема в том, что ссылка на рабочий стол не распознается, потому что системная переменная% userprofile% не распознается, вставляется как текстовая строка. Я использую эту настройку, потому что хочу преобразовать файл bat в исполняемый файл и создать невидимое приложение, которое делает все в фоновом режиме.

Ответы [ 2 ]

2 голосов
/ 02 ноября 2009

Почему бы не переименовать файл в test.cmd и запустить его напрямую?

Следующее должно работать, хотя:

@echo off
for /F "eol=; tokens=1* delims=" %%i in ( test.txt ) do call :run %%i
goto :eof
:run
%*
goto :eof

Причина в том, что for сам по себе не раскрывает переменные среды в своих переменных. Вероятно, единственная точка в партии, где это имеет место. Так что я просто передаю строку подпрограмме (run), которая выполняет выполнение для меня.

0 голосов
/ 02 ноября 2009

просто переименуйте test.txt в test.bat и запустите его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...