Probeer met het volgende stukje code iets op de commandline (dmv runas commando) uit te voeren, maar ik krijgt steeds de volgende output terug:
'1' is de waarde die ik terugkrijg van proc.waitFor(); en aangezien die '0' moet zijn is dit niet goed :-) Sowieso krijg ik niet de output die ik verwacht.
Dit is de code:
Ook heb ik het volgende als geprobeerd als command[] variabele, maar had net zo weinig resultaat:
Dit werkt vervolgens wel:
Het lijkt dus aan die pipe te liggen, maar kom er maar niet achter hoe ik dit voor elkaar krijg.
Iemand enig idee?
PS: heb ook al geprobeerd om alles in een batch file te stoppen die dan vervolgens uit te voeren dmv Runtime.exec(), maar dit gaat net zo goed mis.
code:
1
| Finished with exit code 1 |
'1' is de waarde die ik terugkrijg van proc.waitFor(); en aangezien die '0' moet zijn is dit niet goed :-) Sowieso krijg ik niet de output die ik verwacht.
Dit is de code:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Runtime rt = Runtime.getRuntime(); String[] command = { "runas", "/user:\"MyUser\"", "c:\\Path\\prog.exe", "-param1", "value1", "-param2", "value2", "|", "d:\\Sanur\\sanur", "pwd"}; Process proc = rt.exec(command); int exitVal = proc.waitFor(); out.print("\nFinished with exit code "+ exitVal); |
Ook heb ik het volgende als geprobeerd als command[] variabele, maar had net zo weinig resultaat:
Java:
1
2
3
4
| String[] command = { "cmd", "/c", "runas /user:\"MyUser\" \"c:\\Path\\prog.exe -param1 value1 -param2 value2 | d:\\Sanur\\sanur pwd"}; |
Dit werkt vervolgens wel:
Java:
1
2
3
4
| String[] command = { "cmd", "/c", "runas /user:\"MyUser\" \"c:\\Path\\prog.exe -param1 value1 -param2 value2"}; |
Het lijkt dus aan die pipe te liggen, maar kom er maar niet achter hoe ik dit voor elkaar krijg.
Iemand enig idee?
PS: heb ook al geprobeerd om alles in een batch file te stoppen die dan vervolgens uit te voeren dmv Runtime.exec(), maar dit gaat net zo goed mis.