我想用java命令運行批處理文件。 我有以下代碼在java中執行帶有args的批處理文件
Runtime.getRuntime().exec("cmd /c start C:\\temp\\Sept_2016\\22Sept\\filecompare.bat");
我filecompare.bat命名如下
fc "C:\temp\Sept_2016\22Sept\MSP_Files\msp.txt" "C:\temp\Sept_2016\22Sept\MIB_Files\mib.txt">>"C:\temp\Sept_2016\22Sept\mismatch.txt"
這工作按批處理文件預期和輸出都存儲在txt文件。
現在我不想使用上面的硬編碼值我想從Java程序中獲取值。所以我寫Java代碼如下
String file1 = new String("C:\\temp\\Sept_2016\\22Sept\\MSP_Files\\msp.txt");
String file2 = new String("C:\\temp\\Sept_2016\\22Sept\\MIB_Files\\mib.txt");
String file3 = new String("C:\\temp\\Sept_2016\\22Sept\\mismatch.txt");
Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "start C:\\temp\\Sept_2016\\22Sept\\filecompare.bat", file1, file2, file3});
在類似的路線,我修改批處理文件
fc %4 %5>>%6
但這似乎並不奏效。它只是打開dos窗口。
你能幫我實現嗎? 在此先感謝
您只傳遞3個參數爲什麼使用'%4','%5'和'%6'? – talex
1)「cmd.exe」, 2)「/ c」, 3)「start C:\\ temp \\ Sept_2016 \\ 22Sept \\ filecompare.bat」, 4) )file1, 5)file2, 6)file3 – Sachin
我相信你的String []的前三個元素應該連接在一起。順便說一句,爲什麼你不能串聯所有的字符串,只傳遞一個字符串? – freefall