G
Gelöschtes Mitglied 5909
Gast
Wollte mal ein kleines tool schreiben um consolenbefehle verzögert ausführen zu können.
Hat auch erstmal geklappt, doch dann hab ich bisl rumprobiert und wenn diese befehle wiederrum parameter haben,
oder ich mehrere Programme damit starten will, dann gehts in die hose.
bei befehlen mit parametern gehts in die hose (auch wenn ich den kompletten befehl per "hier steht der befehl" übergebe), mit folgender exception:
java.io.IOException: CreateProcess: "cmd.exe \t:17" error=2
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at delay$1.run(delay.java:20)
Wenn ich z.b. mehrere Programme starten will, dann führt er nur des erste aus.
danke im vorraus
Hat auch erstmal geklappt, doch dann hab ich bisl rumprobiert und wenn diese befehle wiederrum parameter haben,
oder ich mehrere Programme damit starten will, dann gehts in die hose.
Code:
public class Delay
{
public static void main(String[] args)
{
int argc = args.length;
if (argc < 2) {
System.out.println("Usage: java Delay <commands> <time>");
System.exit(1);
}
final long time = Long.parseLong(args[argc - 1]);
final String commands[] = new String[argc - 1];
System.arraycopy(args, 0, commands, 0, argc - 1);
new Thread()
{
@Override public void run()
{
try {
Thread.sleep(time * 1000);
Runtime.getRuntime().exec(commands);
} catch (Exception e) { e.printStackTrace(); }
}
}.start();
}
}
bei befehlen mit parametern gehts in die hose (auch wenn ich den kompletten befehl per "hier steht der befehl" übergebe), mit folgender exception:
java.io.IOException: CreateProcess: "cmd.exe \t:17" error=2
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at delay$1.run(delay.java:20)
Wenn ich z.b. mehrere Programme starten will, dann führt er nur des erste aus.
danke im vorraus