Eseguire comandi tableau tramite java
Sto cercando di eseguire 3-7 comandi usando Java. Per prima cosa, ho bisogno di cambiare la directory con cd
e in seguito eseguire i comandi 2) e 3).
1)
Process p = runtime.exec("cmd /c start cmd.exe /C \"cd C:\\Program Files\\Tableau\\Tableau Server\\8.2\\bin");
E dopo voglio scrivere
2)
runtime.exec("cmd /c start cmd.exe /K \tabcmd login -s http://localhost:80 -u c200433 -p venkat@#");
E nel comando seguente sto ricevendo il nome del file da una stringa, posso usare questo formato ?
3)
runtime.exec("tabcmd publish C:\\Users\\c200433\\Desktop\\Ana\\".getBytes()+filename+" --db-username IIP_RBM_USER --db-password Ytpqxsb9dw".getBytes()));
Devo eseguire tutti questi comandi. Come faccio?
0
Author: user2639663, 2014-09-14
1 answers
Penso che il problema qui sia che ti manca qualcosa di importante su come funziona cmd
. In particolare, ogni istanza cmd
ha la propria "directory corrente". Cosi ...
- Quando si esegue
cd
in uncmd
influisce solo su tale istanza. - Quando si esegue
runtime.exec("cmd /c start cmd.exe ...
due volte, si ottengono due istanzecmd
separate, una dopo l'altra.
Quindi quello che (penso) stai tentando di fare qui semplicemente non funzionerà.
Invece tu dovrebbe:
- genera un file
BAT
che contiene l'intera sequenza di comandi, OPPURE - inserisci un
cd
in ogni rigacmd
che esegui O - usa i nomi di percorso assoluti in modo che non abbia bisogno di a
cd
.
0
Author: Stephen C, 2014-09-14 00:00:02