execute shell command via java
It happened to me that working via an extranet on a citrix environment in a WSAD workspace, that I needed to remove the attribute to at least 200 files in different directories.
Since do it one by one via WSAD is unthinkable, and I didn’t have time to going to the client, loggin into the net in order to have a shell and I dind’t have a shell by my hands, I did it via java.
The environment is Windows machine and here is the source
package tests.runners;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
public class ShellCommandRunner {
public static void main(String[] args) throws IOException{
OutputStream stdin = null;
BufferedReader br = null;
String line = null;
String command = null;
command = "cmd.exe /C attrib -r /S /D X:\\workspaces\\tuc-workspace\\*.*";
System.out.println(command);
Process p = Runtime.getRuntime().exec(command);
stdin = p.getOutputStream(); //use this to push commands
//processing stdout
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
while((line=br.readLine())!=null) System.out.println(line);
//processing stderr
br = new BufferedReader(new InputStreamReader(p.getErrorStream()));
while((line=br.readLine())!=null) System.err.println(line);
System.out.println("done!");
}
}

i keep gett code 22