Comandos do sistema windows

Ola, tenho um programa que deveria pegar a variavel %SystemRoot% do windows, mas para pegar essa variavel eu deveria dar um echo %SystemRoot% e jogar o retorno em uma variavel, mas o java nao acha o comando echo do windows. segue abaixo o programa, e agradeco a quem poder me ajudar.

package envios;
import java.io.*;
public class Envio{

public Envio() throws IOException {
Runtime run = Runtime.getRuntime();
String dir = “D:\WINDOWS”;//essa variavel deve receber o SystemRoot
Process procDir = run.exec(“echo %SystemRoot%”);
new Processo(procDir.getInputStream()).start();
Process proc = run.exec(“ftp -n -i -s:”+dir+"\Temp\dados.dat 10.1.1.1");
new Processo(proc.getInputStream()).start();
}
public static void main(String[] args)
throws IOException, InterruptedException {
new Envio();
}
class Processo extends Thread {

InputStream stream = null;

public Processo(InputStream stream) {
        this.stream = stream;
}

private void parseStream()
        throws IOException {
        InputStreamReader isr = new InputStreamReader(stream);
        BufferedReader br = new BufferedReader(isr);
        String line = null;
        while ((line = br.readLine()) != null) {
                System.out.println(line);
        }
}

public void run() {
        try {
                parseStream();
        } catch (IOException e) {
                e.printStackTrace();
        }
	}
}

}

Att,

Tudenski

No JDK1.5 tem:
Método antigo (“desdepreciado”):

        String strSystemRoot = System.getenv("SystemRoot");
        System.out.println(strSystemRoot);

e o método novo (exibe todas as variaveis):

        java.util.Map variables = System.getenv();
        java.util.Set variableNames = variables.keySet();
        java.util.Iterator nameIterator = variableNames.iterator();
        
        for (int index = 0; index < variableNames.size(); index++) {
            String name = (String) nameIterator.next();
            String value = (String) variables.get(name);
            System.out.println(name + "=" + value);
        }

Esse metodo getenv nao tem no system…

[quote=celiomarcos]No JDK1.5 tem:
Método antigo (“desdepreciado”):

        String strSystemRoot = System.getenv("SystemRoot");
        System.out.println(strSystemRoot);

e o método novo (exibe todas as variaveis):

[code]
java.util.Map variables = System.getenv();
java.util.Set variableNames = variables.keySet();
java.util.Iterator nameIterator = variableNames.iterator();

    for (int index = 0; index < variableNames.size(); index++) {
        String name = (String) nameIterator.next();
        String value = (String) variables.get(name);
        System.out.println(name + "=" + value);
    }

[/code][/quote]

Claro que tem! Olha só esse link:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#getenv(java.lang.String)