<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JScript: "Зеркалирование" командной строки в Cscript]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11020&amp;type=atom" />
	<updated>2015-10-27T06:29:36Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11020</id>
		<entry>
			<title type="html"><![CDATA[Re: JScript: "Зеркалирование" командной строки в Cscript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=98297#p98297" />
			<content type="html"><![CDATA[<p>Оставляйте как есть.</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2015-10-27T06:29:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=98297#p98297</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: "Зеркалирование" командной строки в Cscript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=98228#p98228" />
			<content type="html"><![CDATA[<p>Ну так что, ничего более никто никогда не пробовал в этом направлении, оставлять всё как есть ?</p>]]></content>
			<author>
				<name><![CDATA[Himmler]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25902</uri>
			</author>
			<updated>2015-10-26T04:49:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=98228#p98228</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: "Зеркалирование" командной строки в Cscript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=98130#p98130" />
			<content type="html"><![CDATA[<p>Не-не, эдак я и на С могу написать без всяких костылей. Интересует именно реализация на JScript с использованием только виндовых средств.</p>]]></content>
			<author>
				<name><![CDATA[Himmler]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25902</uri>
			</author>
			<updated>2015-10-24T06:34:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=98130#p98130</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: "Зеркалирование" командной строки в Cscript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=98125#p98125" />
			<content type="html"><![CDATA[<p>На автохотки можно и без файла обойтись:<br /><a href="http://autohotkey.com/board/topic/96903-simplified-versions-of-seans-stdouttovar/">http://autohotkey.com/board/topic/96903 … douttovar/</a><br />Наверное как-то можно код перевести.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2015-10-24T01:07:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=98125#p98125</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: "Зеркалирование" командной строки в Cscript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=98114#p98114" />
			<content type="html"><![CDATA[<p>Нда, как-то не очень радужно получается... Думал сделать пару костылей, типа построчного чтения через ReadLine() до нужного момента, дабы не виснуть на ReadAll().<br />Может есть какой объект WMI или что-то подобное, которое умеет выполнять команды консоли ?<br />На худой конец-то я и так справлюсь, но хотелось-то как-то покрасивше...</p>]]></content>
			<author>
				<name><![CDATA[Himmler]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25902</uri>
			</author>
			<updated>2015-10-23T17:09:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=98114#p98114</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: "Зеркалирование" командной строки в Cscript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=98112#p98112" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Не существует ли какого-либо более элегантного способа получить желаемое (например перенаправление потоков ввода-вывода напрямую из cmd в cscript, или ещё чего-нибудь эдакое) ?</p></blockquote></div><p>StdOut.ReadAll(), ReadLine(), Read() самопроизвольно блокируются. Многие это считают багом. Единственным решением я вижу направлять вывод в текстовый файл. Хотя у некоторых коллег религия не позволяет это делать <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><div class="quotebox"><blockquote><p>Ну или если такого пути нет, то хотя бы какие предлагаются варианты пофиксить описанные выше проблемы ?</p></blockquote></div><p>Я думаю, что все-таки придется постоянно стартовать процесс заново, то есть с параметром /c. Процесс убьется сам.<br />Проблему с кодировкой вы можете решить, если будете запускать cmd с параметром /u - вывод в юникод.</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2015-10-23T16:42:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=98112#p98112</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: "Зеркалирование" командной строки в Cscript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=98079#p98079" />
			<content type="html"><![CDATA[<p>Собственно, код тривиален, потому и не прилепил. Ну раз уж хочется, то вот:<br /></p><div class="codebox"><pre><code>
WshShell = new ActiveXObject(&#039;WScript.Shell&#039;)
while (1)
{
command = WScript.StdIn.ReadLine()
cmd = WshShell.Exec(&#039;cmd.exe /c chcp 1251&gt;nul &amp;&amp; &#039;+command)

//input = WScript.StdIn.ReadLine()
//cmd.StdIn.WriteLine(input)

WScript.StdOut.WriteLine(cmd.StdOut.ReadAll())
}
</code></pre></div><p>Закомменченные строки - эдак можно передать ввод для команд, требующих его. Только вот делать этот ввод приходится вслепую.</p>]]></content>
			<author>
				<name><![CDATA[Himmler]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25902</uri>
			</author>
			<updated>2015-10-22T16:12:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=98079#p98079</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JScript: "Зеркалирование" командной строки в Cscript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=98073#p98073" />
			<content type="html"><![CDATA[<p>Давайте начнем с того: покажите пример кода с вышеописанной проблемой. <br />Дальше StdIn и StdOut не уйдем, по-любому.</p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2015-10-21T20:41:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=98073#p98073</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[JScript: "Зеркалирование" командной строки в Cscript]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=98069#p98069" />
			<content type="html"><![CDATA[<p>Здравствуйте, товарищи.</p><p>Имеется следующая задача:<br />Нужно получить внутри скрипта, исполняемого в cscript.exe (в консольном режме) полностью функциональную командную строку (имеется ввиду cmd.exe)</p><p>Реализовал это дело классическим способом, через Shell.Exec, вызывая cmd.exe, выполняя необходимую команду, завершая cmd.exe и читая результат через StdOut с помощью ReadAll.</p><p>Недостатки данного метода следующие:<br />-в случае, когда какая-либо команда внутри cmd хочет дополнительного ввода, непонятно как этот ввод ей дать.<br />-бывает лажа с кодировкой текста, выводимого командами.<br />-для каждой команды требуется стартовать и убивать cmd.exe.</p><p>Вопрос:<br />Не существует ли какого-либо более элегантного способа получить желаемое (например перенаправление потоков ввода-вывода напрямую из cmd в cscript, или ещё чего-нибудь эдакое) ?<br />Ну или если такого пути нет, то хотя бы какие предлагаются варианты пофиксить описанные выше проблемы ?</p>]]></content>
			<author>
				<name><![CDATA[Himmler]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25902</uri>
			</author>
			<updated>2015-10-21T17:40:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=98069#p98069</id>
		</entry>
</feed>
