Bonjour,
je viens de lire la chose suivante dans la doc du move.
Étant donné que mon move est appelé depuis un script java, est ce que l'interpréteur va considérer la commande comme faisant partie d'un batch ou non ?/Y
Indique que la commande MOVE doit remplacer le(s) fichier(s) existant(s) sans vous demander confirmation. Par defaut, si vous specifiez un fichier existant comme fichier de destination, la commande MOVE vous demande si vous souhaitez remplacer le fichier existant. (Les versions de DOS anterieures a DOS 6.22 remplacent purement et simplement le fichier existant.) Si la commande MOVE fait partie d'un batch, MOVE remplace le fichier sans vous demander confirmation. Si ce commutateur est specifie, il prevaut sur tous les parametres par defaut, ainsi que sur le parametre courant de la variable d'environnement [COPYCMD].
Voici comment j'exécute la commande depuis java
En fait j'ai pas le souvenir d'avoir déjà eu à faire la confirmation pour un move, du coup j'ai un doute maintenant vu que je n'ai jamais utilisé l'option Y dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public void exe2(){ try { String[] commande = {"cmd.exe","/c",this.getCommand()}; System.out.println("Exécution de la commande:"+this.getCommand()+"\n"); ProcessBuilder pb = new ProcessBuilder(commande); pb.directory(new File("C:\\simu")); pb.inheritIO(); Process p = pb.start(); System.out.println("En attente:\n"); p.waitFor(); System.out.println("Commande exécutée\n"); } catch (IOException e) { System.out.println("La commande a échoué\n"); // TODO Auto-generated catch block e.printStackTrace(); } catch (InterruptedException e) { System.out.println("Echec wait for\n"); // TODO Auto-generated catch block e.printStackTrace(); } }
Partager