Cygwin n'est pas trouvé

jayzman -  
 jayzman -
bonjour a tous,
je veux exécuter un fichier .sh dans cygwin en java et il me donne de l'erreur suivant:
voici mon code
      Process process;
             String cmd[] = new String[3];
            cmd[0] = "C:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico -";
            cmd[1] = "-c";
            cmd[2] = "cd decoder && bash TEST.sh";
            try
            {
                process = Runtime.getRuntime().exec(cmd);
                  
                 process.waitFor();
                if(process.exitValue() == 0)
                {
                    JOptionPane.showMessageDialog(this,"execution reussi!");
                }
                else
                {
                    JOptionPane.showMessageDialog(this,"execution non reussi!");
            }
}
catch(Exception e)
{
System.out.println("Exception: "+ e.toString());
}

voici l'erreur
Exception: java.io.IOException: Cannot run program "C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico -": CreateProcess error=2, Le fichier spécifié est introuvable




il ne trouve pas C:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico - mais c'est bien le repertoire;est ce que quelqu'un peut me suggérer un idée?
merci
jayzman
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

faseldi Messages postés 279 Date d'inscription   Statut Membre Dernière intervention   20
 
Est-ce que le problème ne viendrait pas de l'icône ?
Pour moi il faut spécifier son chemin absolu, là tu dis qu'elle est à la racine / de ton disque.

Tu devrais tester avec -i C:\\cygwin\\Cygwin-Terminal.ico

Désolé d'avoir répondu un peu tard.
0
jayzman
 
bonjour faseldi,
pas de quoi,merci pour votre réponse,
j'ai testé votre suggestion mais ça donne le même erreur,
0
jayzman
 
c'est icône que je veut lancé,il est sur le bureau mais le chemin d'emplacement est celle que j'ai mentionné dans mon code,mais je ne sais pas pourquoi il ne le trouve pas,est-ce-qu'il y a une erreur dans mon programme,peut être dans le tableau?
0
jayzman
 

Process process;
String cmd = null;
cmd = "C:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico -";
try
{
process = Runtime.getRuntime().exec(cmd);

process.waitFor();
if(process.exitValue() == 0)
{
JOptionPane.showMessageDialog(this,"execution reussi!");
}
else
{
JOptionPane.showMessageDialog(this,"execution non reussi!");
}
}
catch(Exception e)
{
System.out.println("Exception: "+ e.toString());
}


quand je fais comme ça il trouve mais quand je le fais dans le tableau pour exécuter autre chose il ne le trouve pas,
0
faseldi Messages postés 279 Date d'inscription   Statut Membre Dernière intervention   20
 
J'ai toujours fais comme tu fais actuellement, à la fa_çon qui marche ! :p
0
jayzman1 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Ok,mais je veut l'automatisme du code,comme ça je compile automatiquement le commande que je veut lancé dans le rep decoder,est-ce-qu'il n'y a pas de moyen? :)
0
fmvgld Messages postés 117 Date d'inscription   Statut Membre Dernière intervention   9
 
quand je doit lancer ce genre de commande je cree un .bat a la racine de mon projet qui me sert de lanceur.

en gros tu met C:\\cygwin\\bin\\mintty.exe -i /Cygwin-Terminal.ico -
dans ton bat lance.bat et tu l'appel a partir de ton code java
0
faseldi Messages postés 279 Date d'inscription   Statut Membre Dernière intervention   20
 
+1 Je vois que je suis pas le seul à utiliser cette technique :D ( enfin pas en java par contre :) )
0
jayzman
 
bonjour à vous et bonne année 2016
merci pour vos réponse,
ça a marché pour l’exécution mais pour le changement de répertoire et exécution de script,
je veux entrer dans un nouveau répertoire et exécuter un script à partir de cet répertoire

quand je lance le cygwin
on a
[~]$
et je veut rentrer dans test
[~/test]$
et enfin je veut executer un script .sh ou .pl
[~/test]$bash test.sh

et je veut que ce sera fait par un seul bouton en java sans entrer manuellement le commande :),
merci à vous

jayzman
0