Exécuter .fichier bat à partir de java?
je reviens avec mon problème précédent avec de l'exécution .fichier bat à partir d'un programme en java.
Quand j'execute mon code java, je ne comprends pas pourquoi il est à la recherche de mon .fichier bat dans le répertoire de projet de mon Eclipse.
Je déclare clairement le chemin d'accès comme : "cmd.exe", "/C", "Start", "C:\\File\\batfile.bat"
Si quelqu'un pouvait m'expliquer clairement, s'il vous plaît.
Merci beaucoup!
j'utilise win xp et Eclipse Helios.
voici mon code:
String cmd;
try {
String[] command = { "cmd.exe", "/C", "Start", "C:\\File\\batfile.bat" };
Runtime r = Runtime.getRuntime();
Process p = r.exec(command);
p.waitFor();
} catch (Exception e)
{
System.out.println("Execution error");}
Il fonctionne parfaitement pour moi, en utilisant le même exemple que vous avez fournis. Pas sûr de ce qui ne fonctionne pas.
essayez d'exécuter la même classe depuis la console
Il suffit de double vérifier si vous n'avez pas un nom à votre fichier bat comme
Merci, j'essaie de décocher "masquer les extensions des knoww types de fichiers", mais il y a du changement. J'ai presque fini mon petit projet, mais je ne peux pas ne peut pas distribuer maintenant, à cause de ce problème. J'ai essayé de les convertir .le fichier bat .exe fichier, mais j'ai le même résultat.Peut-être un problème avec la version de java? dos? windows xp?
Avez-vous vraiment besoin de la
essayez d'exécuter la même classe depuis la console
Il suffit de double vérifier si vous n'avez pas un nom à votre fichier bat comme
batfile.bat.txt
. Vous pouvez le faire en allant à My Computer > Tools > Folder Options > Uncheck 'Hide extensions of known file types'
Merci, j'essaie de décocher "masquer les extensions des knoww types de fichiers", mais il y a du changement. J'ai presque fini mon petit projet, mais je ne peux pas ne peut pas distribuer maintenant, à cause de ce problème. J'ai essayé de les convertir .le fichier bat .exe fichier, mais j'ai le même résultat.Peut-être un problème avec la version de java? dos? windows xp?
Avez-vous vraiment besoin de la
start
ici? Si je me souviens bien, c'est start.exe
ce qui pourrait aussi être appelée directement.OriginalL'auteur user618111 | 2011-02-23
Vous devez vous connecter pour publier un commentaire.
Le processus cmd.exe (choisi à partir de la variable d'environnement PATH) est créé avec le répertoire de travail courant la même que dans le processus parent (eclipse.exe = java). Qui est le plus probable c:\eclipse ou l'espace de travail dir.
Si il ne trouve pas le fichier (C:\File\batfile.bat) il essaie de travail en cours dir. Si vous exécutez ce code à l'aide d'Exécuter en tant Que Java essayer de changer le répertoire de travail. Assurez-vous également que la chauve-souris le fichier n'existe pas.
OriginalL'auteur lzap
Essayez plutôt ceci:
ComSpec est souvent le chemin de l'cmd.exe. Si non, utilisez la trajectoire prévue de l'). Vous pouvez aussi chercher dans le dossier %SystemRoot%\system32. Ou même %path%. Mais juste vérifier ComSpec est mieux que d'utiliser cmd.exe avec rien d'autre par défaut.
Que quelqu'un d'autre a fait remarquer, votre répertoire de travail par défaut lors de l'exécution d'Eclipse est généralement le projet Eclipse dossier.
Il est généralement une bonne pratique de ne pas compter sur le dossier de travail en cours de quelque chose d'utile. Au lieu spécifier les chemins d'accès à quoi que ce soit nécessaire, ou recherchez le chemin d'accès (si l'application ne permet pas de le faire pour vous).
OriginalL'auteur user1676075
Supprimer
Start
de la commande il n'est pas nécessaire - et d'essayer:OriginalL'auteur user2519618
OriginalL'auteur sschrass