Войти

Показать полную графическую версию : Передача CRLF аргументом


Nefedya
17-03-2015, 02:19
При запуске exe требуется передать ему несколько строковых аргументов, оканчивающихся win-символом переноса строки.
Проблема в том, что если составить правильный bat с CRLF он естественно будет распознан как многострочный bat, и всё, что идёт после первого CRLF будет попробовано запущено как отдельная команда.
Подскажите пожалуйста способ решения проблемы. Возможно с помощью какой-либо иной программы.

Iska
17-03-2015, 04:30
При запуске exe требуется передать ему несколько строковых аргументов, оканчивающихся win-символом переноса строки. »
Какого именно? Выложите его или приведите ссылку, где его можно взять. Впервые слышу о таком.

Georgio
17-03-2015, 04:57
@echo off

set "exe=My Program.exe"
set "arg1=111"
set "arg2=222"
set "arg3=333"

mshta vbscript:Execute("CreateObject(""WScript.Shell"").Exec(""%exe%"").StdIn.Write(""%arg1%""&vbCrLf&""%arg2%""&vbCrLf&""%arg3%""&vbCrLf):Close()")

Iska
17-03-2015, 05:38
.Exec(""%exe%"").StdIn.Write »
Тут проще тупо текстовый файл направить на вход:
"My Program.exe" <"Input.txt"
Но автор пишет об «аргументах». Впрочем, как я уже писал выше, мне такого рода приложения не встречались. Так что, может быть, речь, действительно, именно про банальный ввод данных, а не про «аргументы».

Nefedya
17-03-2015, 09:55
Какого именно? Выложите его или приведите ссылку, где его можно взять. Впервые слышу о таком.

Небезызвестный ffmpeg. Им требуется забирать по http поток, но проблема в том, что выдача потока зависит от юзерагента и доп. параметра в заголовках http. У ffmpeg есть опции задания этих заголовков, но в нём есть неприятная особенность: http требует, чтобы после каждой строки заголовка передавался перенос строки, но ffmpeg сам НЕ добавляет перенос строки в конце явно указываемых строк: https://trac.ffmpeg.org/ticket/3268

Upd: В принципе нет требования запуска через батник, нужен просто факт успешного запуска, можно и вручную.
Требуемая строка запуска выглядит так:
ffmpeg -user_agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36" -headers "X-Requested-With: ShockwaveFlash/17.0.0.134" -icy 0 -i http://foo.bar/file.name -vcodec copy -acodec copy "z:/file.ts"
Параметры "user_agent" и "headers" собственно и требуется терминировать CRLF, но не получается.




© OSzone.net 2001-2012