<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Eigene Shell wie *.cmd erstellen...]]></title><description><![CDATA[<p>Hallo Leute, ich hoffe iht könnt mir bei meinem Problem helfen unzwar möchte ich gerne eine Art Batch erstellen wie die *.cmd oder *.bat</p>
<p>Ich habe eine Shell erstellt die eigene Befehle in der Konsole entgegenimmt und diese dann ausführt, jetzt habe ich meine Shell mit der Dateiendung *.xmd registriert.<br />
Hier mein Code für die Eingabe der Befehle:</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{
string str;
do
            {

                //Befehl mit Parameter einlesen
                getline(cin, str);

                istringstream cmdline (str);
                string input;
                vector&lt;string&gt; params;

if(cmdline &gt;&gt; input) 
                {   
                 //...
</code></pre>
<p>In dem Code werden eigene Befehle abgearbeitet und ausgeführt, wie z.B.:</p>
<pre><code>kill winamp.exe
shutdown
...
</code></pre>
<p>Jetzt dachte ich mir wenn ich z.B. in der Datei <strong>test.xmd</strong> folgendes steht:</p>
<pre><code>exec defrag c:
shutdown
</code></pre>
<p>Dieser Inhalt an meine Shell übergeben wird, also an argv[] und dieser Inhlat weiter verarbeitet wird, doch wie bekomme ich den Inhalt wenn ich auf die Datei klicke auf meine Shell übergeben?<br />
Also bei *.cmd klappt das doch auch nur wie?</p>
<p>Bitte um Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161187/eigene-shell-wie-cmd-erstellen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 10:33:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161187.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Oct 2006 09:45:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eigene Shell wie *.cmd erstellen... on Wed, 04 Oct 2006 09:45:08 GMT]]></title><description><![CDATA[<p>Hallo Leute, ich hoffe iht könnt mir bei meinem Problem helfen unzwar möchte ich gerne eine Art Batch erstellen wie die *.cmd oder *.bat</p>
<p>Ich habe eine Shell erstellt die eigene Befehle in der Konsole entgegenimmt und diese dann ausführt, jetzt habe ich meine Shell mit der Dateiendung *.xmd registriert.<br />
Hier mein Code für die Eingabe der Befehle:</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{
string str;
do
            {

                //Befehl mit Parameter einlesen
                getline(cin, str);

                istringstream cmdline (str);
                string input;
                vector&lt;string&gt; params;

if(cmdline &gt;&gt; input) 
                {   
                 //...
</code></pre>
<p>In dem Code werden eigene Befehle abgearbeitet und ausgeführt, wie z.B.:</p>
<pre><code>kill winamp.exe
shutdown
...
</code></pre>
<p>Jetzt dachte ich mir wenn ich z.B. in der Datei <strong>test.xmd</strong> folgendes steht:</p>
<pre><code>exec defrag c:
shutdown
</code></pre>
<p>Dieser Inhalt an meine Shell übergeben wird, also an argv[] und dieser Inhlat weiter verarbeitet wird, doch wie bekomme ich den Inhalt wenn ich auf die Datei klicke auf meine Shell übergeben?<br />
Also bei *.cmd klappt das doch auch nur wie?</p>
<p>Bitte um Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149093</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Wed, 04 Oct 2006 09:45:08 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene Shell wie *.cmd erstellen... on Wed, 04 Oct 2006 14:16:22 GMT]]></title><description><![CDATA[<p>Ich bitte euch könnt mir helfen und ist es möglich sowas zu realisieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149298</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Wed, 04 Oct 2006 14:16:22 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene Shell wie *.cmd erstellen... on Wed, 04 Oct 2006 16:53:47 GMT]]></title><description><![CDATA[<p>Schau doch selber mal nach, was in argv[] drinsteht - ich tippe mal auf den Pfad der .xmd-Datei (wenn du sie richtig registriert hast)...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149393</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Wed, 04 Oct 2006 16:53:47 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene Shell wie *.cmd erstellen... on Wed, 04 Oct 2006 18:16:18 GMT]]></title><description><![CDATA[<p>Jep - argv[0] wird glaub ich den Aufrufpfad deines Programm enthalten.<br />
argv[1] müsste dann dein Dateiname der XMD-Datei sein.<br />
argc gibt an, wieviele elemente argv hat.</p>
<p>Have fun!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149431</guid><dc:creator><![CDATA[fehlersucher]]></dc:creator><pubDate>Wed, 04 Oct 2006 18:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene Shell wie *.cmd erstellen... on Thu, 05 Oct 2006 17:32:26 GMT]]></title><description><![CDATA[<p>Hallo Leute, ich bin soweit fertig mit der Registrierung und dem Auslesen der Datei, doch wenn ich in der Datei folgendes stehen habe:</p>
<pre><code>kill winamp.exe
</code></pre>
<p>...wird kill und winamp.exe als einzelne Befehle ausgeführt.</p>
<p>Hier mein Code zum Einlesen:</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{
if(argc &gt; 1)
	{
string str, file = argv[1];
		ifstream ifs(file.c_str());

		while(ifs &gt;&gt; str)
		{ 			
			cout &lt;&lt; str &lt;&lt; &quot; &quot; &lt;&lt; endl;
			x = parseCommand(str);
			if(x==10)
				return 0;
		}		
		system(&quot;pause&quot;);
</code></pre>
<p>Also alles in einer Zeile soll ein Befehl sein und wenn ich str ausgebe wird jeweils <strong>kill</strong> und <strong>winamp.exe</strong> einzelnd ausgegeben. Wahrscheinlich ist die Schleife falsch, könnt ihr mir bitte helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1150067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150067</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Thu, 05 Oct 2006 17:32:26 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene Shell wie *.cmd erstellen... on Thu, 05 Oct 2006 18:03:52 GMT]]></title><description><![CDATA[<p>nimm doch argv[1] als das kommando und alle weiteren als argumente desselben.<br />
btw: das mit dem 'ifstream' und 'string' ist meiner meinung nach etwas umständlich. nimm doch *argv[...] direkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1150098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150098</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Thu, 05 Oct 2006 18:03:52 GMT</pubDate></item><item><title><![CDATA[Reply to Eigene Shell wie *.cmd erstellen... on Fri, 06 Oct 2006 08:38:02 GMT]]></title><description><![CDATA[<p>is normal - er findet ein leerzeichen darum wird es zu &quot;kill&quot; und &quot;winamp.exe&quot; geteilt</p>
<p>setz es einfach in &quot; schon isses zusammen</p>
<p>&quot;kill winamp.exe&quot; dann wirds auch als ein einzelnes gehandhabt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1150366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150366</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 06 Oct 2006 08:38:02 GMT</pubDate></item></channel></rss>