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?

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 un cmd influisce solo su tale istanza.
  • Quando si esegue runtime.exec("cmd /c start cmd.exe ... due volte, si ottengono due istanze cmd 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 riga cmd 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