Exécuter des commandes tableau Via java
J'essaie d'exécuter 3-7 commandes en utilisant Java. Tout d'abord, je dois changer le répertoire avec cd
et exécuter plus tard les commandes 2) et 3).
1)
Process p = runtime.exec("cmd /c start cmd.exe /C \"cd C:\\Program Files\\Tableau\\Tableau Server\\8.2\\bin");
Et puis je veux écrire
2)
runtime.exec("cmd /c start cmd.exe /K \tabcmd login -s http://localhost:80 -u c200433 -p venkat@#");
Et dans la commande ci-dessous, je reçois le nom de fichier à partir d'une chaîne, puis-je utiliser ce format ?
3)
runtime.exec("tabcmd publish C:\\Users\\c200433\\Desktop\\Ana\\".getBytes()+filename+" --db-username IIP_RBM_USER --db-password Ytpqxsb9dw".getBytes()));
J'ai besoin d'exécuter toutes ces commandes. Comment dois-je faire?
0
Author: user2639663, 2014-09-14
1 answers
Je pense que le problème ici est que vous manquez quelque chose d'important sur la façon dont cmd
fonctionne. Plus précisément, chaque instance cmd
a son propre "répertoire courant". Si ...
- Lorsque vous exécutez
cd
dans uncmd
, cela n'affecte que cette instance. - Lorsque vous exécutez
runtime.exec("cmd /c start cmd.exe ...
deux fois, vous obtenez deuxcmd
instances, l'une après l'autre.
Donc, ce que (je pense) vous essayez de faire ici ne fonctionnera tout simplement pas.
Au lieu de cela, vous devrait:
- génère un fichier
BAT
qui contient toute la séquence de commandes, OU - mettez un
cd
dans chaquecmd
ligne que vous exécutez, OU - utilisez des noms de chemin absolus afin que vous n'ayez pas besoin de pour
cd
.
0
Author: Stephen C, 2014-09-14 00:00:02