2

CMDに入力すると、次のステートメントは正常に機能します

wmic /node:IP /user:Someuser /password:PWD Process Call Create "cmd /c echo 'Required_Info' %SystemDrive% %SystemRoot%"

Javaプロセスビルダーを介して同じことを実行しようとしています。これがコードです。

//some code
String wmic_cmd = "Process Call Create";
String wmic2 = " \"cmd /c echo 'Required_Info' %SystemDrive% %SystemRoot% \"";
cmdTokens.add(wmic_cmd);
cmdTokens.add(wmic2);
/*debug and checked the value of cmdTokens array - it was
[wmic, /node:10.0.0.0, /user:Someuser, /password:PWD, Process Call Create,  "cmd /c echo 'Required_Info' %SystemDrive% %SystemRoot% "] 
*/
ProcessBuilder pb = new ProcessBuilder(cmdTokens.toArray(new String[]{}));
Process proc = pb.start();

procのエラーストリームをチェックすると、次のようになります-

Process Call Create - Alias not found.

これは、WMIC の構文エラーを示しています。そのため、コマンド文字列配列をプロセス ビルダーに送信する際に問題が発生しています。

何か案は??

4

1 に答える 1