2017-05-24 31 views
-1

JAVAを使用して1つのコマンドプロンプトで連続したコマンドを実行しようとしています。1つのコマンドラインで一連のコマンドを実行する、cmd

Process process = runtime.exec("cmd.exe /c start cd c:\\program files (x86) && cd google && cd chrome && cd application"); 

私は何を望んでいることは、それはその後、その後、cd googleそしてcd chrome、最初cd applicationcd c:\\program files (x86)を行うということです。

コードを実行すると、cmdが開き、最初のコマンドはcd c:\\program files (x86)になります。

cd c:\\program files (x86)\google\chrome\applicationでも可能ですが、実際のコマンドラインはクライアント固有のものなのでテストとして使用していますので、例として使用することはできません。

基本的に、一連のコマンドラインを連続して実行する必要があります。

答えて

0

あなたのケースでは、私は問題がシェルコマンドcd c:\\program files (x86)であると仮定します。単語programfiles(x86)の間のスペースです。文字列を引用する必要があります。

私は、コマンドラインの最初の直接のコマンドを実行して、あなたが望む何が起こるかどうかを確認することをお勧め:

cmd.exe /c start cd "c:\\program files (x86)" && cd google && cd chrome && cd application 
0

あなたは、文字列をqouteこの

Process process = runtime.exec("cmd.exe /c start cd c:\\program%files%(x86) && cd google && cd chrome && cd application"); 
0

削除]を使用してみてくださいstart 。すべてのパスの周りに""を配置します。 &&を1つ置き換えてのように&をエスケープしてください。以下のような:だから

cmd.exe /C cd /D "C:\Program Files (x86)" ^& cd "google" ^& cd "chrome" ^& cd "application" 

Process process = runtime.exec("cmd.exe /C cd /D \"C:\\Program Files (x86)\" ^& cd \"google\" ^& cd \"chrome\" ^& cd \"application\""); 
関連する問題