Hallo,
Ich habe folgendes Problem/Aufgabe:
Ich möchte mittels Java folgenden Befehl über die Windowsbefehlszeile ausführen und danach die Ausgabe auslesen.
Mit diesem Befehl kann man den gerade angemeldeten User an einem PC im Netzwerk ermitteln. <PCNAME> ist dabei eine beliebige Stringvariable.
Ich habe diesen Befehl bereits erfolgreich unter Windows getestet. Außerdem habe ich mir folgendes kleines Programm dazu geschrieben:
class: Test.java
Alles anzeigen
class: Start.java
Das Konstrukt schmeisst mir zwar nen Fehler, aber der ist nicht so wichtig weil er erst nach der Ausgabe meines Befehls auftritt.
Mein wirkliches Problem liegt, denke ich, an der Schreibweise des Befehls in:
Hab schon mehrere Schreibweisen des in Klammern stehenden Codes ausprobiert ohne etwas passendes zu finden und bekomme immer wieder die Meldung das das Alias nicht gefunden werden konnte.
Daher denke ich, das ich den Befehl an der Stelle irgendwie falsch schreibe. Hat der jemand eine Idee wie ich das richtig schreiben muss, oder einen Tipp wo ich nachsehen könnte?
Ich habe folgendes Problem/Aufgabe:
Ich möchte mittels Java folgenden Befehl über die Windowsbefehlszeile ausführen und danach die Ausgabe auslesen.
Mit diesem Befehl kann man den gerade angemeldeten User an einem PC im Netzwerk ermitteln. <PCNAME> ist dabei eine beliebige Stringvariable.
Ich habe diesen Befehl bereits erfolgreich unter Windows getestet. Außerdem habe ich mir folgendes kleines Programm dazu geschrieben:
class: Test.java
Quellcode
- package data;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- public class Test {
- public static void Test() {
- String line;
- ProcessBuilder processBuilder = new ProcessBuilder("wmic ","/node:","phoenix","computersystem");
- Process process = null;
- try {
- process = processBuilder.start();
- } catch (IOException e2) {
- e2.printStackTrace();
- }
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
- BufferedReader bufferedReaderError = new BufferedReader(new InputStreamReader(process.getErrorStream()));
- /*try {
- while ((line = bufferedReaderError.readLine()) != null) {
- System.out.println(line);
- }
- } catch (IOException e) {
- e.printStackTrace();
- }*/
- try {
- while ((line = bufferedReader.readLine()) != null) {
- System.out.println(line);
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- try {
- while ((line = bufferedReader.readLine()) == "3") {
- System.out.println(line);
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
class: Start.java
Das Konstrukt schmeisst mir zwar nen Fehler, aber der ist nicht so wichtig weil er erst nach der Ausgabe meines Befehls auftritt.
Mein wirkliches Problem liegt, denke ich, an der Schreibweise des Befehls in:
Hab schon mehrere Schreibweisen des in Klammern stehenden Codes ausprobiert ohne etwas passendes zu finden und bekomme immer wieder die Meldung das das Alias nicht gefunden werden konnte.
Daher denke ich, das ich den Befehl an der Stelle irgendwie falsch schreibe. Hat der jemand eine Idee wie ich das richtig schreiben muss, oder einen Tipp wo ich nachsehen könnte?