Bitte um kleine Hilfe

07/29/2013 05:18 .ReFleX#1
Könnte mir jemand ein Beispiel machen, wie ich z.b. einen String zu einer .bat Datei sende ?

C#
Quote:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = @"C:\decode.bat";
proc.StartInfo.Arguments = text;
proc.Start();
Wie genau sollte soeine .Bat Datei dann aussehen, damit er dann z.b. den String rausgibt.

Something like dat ?
Quote:
@echo off
echo %1
pause
07/29/2013 15:30 Brendan Jordan#2
Einfach in die .bat reinschreiben
07/29/2013 17:32 RGrand#3
Versuchs mal so:
Code:
p.StartInfo.Arguments = string.Format("{0} {1}", argument1, argument2);
wobei argument1 und argument2 Strings sind.
echo %1 => argument1
echo %2 => argument2

~RGrand
07/29/2013 19:20 .ReFleX#4
Jau, habe es gesterno noch hinbekommen. Aber ich habe ein Problem, undzwar sollte meine Bat dann ein .jar öffnen, aber wenn ich es über mein Programm starte steht das ich keine Rechte dazu habe. Wenn ich es von meinen Desktop ausstarte, geht es :/ Was soll ich machen ?
07/29/2013 22:38 RGrand#5
Das liegt an der Benutzerkontensteuerung(UAC) oder daran, dass du über dein Programm nicht genügend Rechte hast.

Starte das Programm mit einem Konto, dass genügend Rechte besitzt:
Code:
p.StartInfo.UserName = "administrator";
char[] password = { 'p', 'a', 's', 's', 'w', 'o', 'r', 'd' };
SecureString adminpassword = new SecureString();
foreach (char c in password)
{
    adminpassword.AppendChar(c);
}
p.StartInfo.Password = adminpassword;
oder erstelle eine Verknüpftung zu der Batch, die immer mit Administratorrechten gestartet wird und öffne diese dann mit dem Programm.
Code:
Datei -> Rechtsklick -> Verknüpfung
Verknüpfung -> Rechtsklick -> Eigenschaften -> "Verknüpfung" -> Erweitert
-> Als Administrator ausführen -> Speichern
~RGrand