Verrisan
Messages postés59Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention23 décembre 2013
-
31 janv. 2007 à 09:44
angenoir999
Messages postés19Date d'inscriptionvendredi 25 août 2006StatutMembreDernière intervention 2 octobre 2008
-
14 févr. 2007 à 01:43
Bonjour tout le monde,
Voilà j'aimerais lancé la comande Dos "move" qui permet de déplacer un fichier d'un répertoire à un autre dans objet de type Process. Est-ce que c'est possible de faire cela avec ce genre d'objet où s'il faut utiliser un autre type d'objet?
j'ai essayé ceci, mais cela ne fonctionne pas:
....
Process proc = Process.Start(@"move C:\test\fic1.xml C:\test2\fic1.xml");
...
Verrisan
Messages postés59Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention23 décembre 2013 31 janv. 2007 à 13:49
Oui, il y a une raison,
Si j'utilise File.Move() ou File.Delete(), j'ai le message d'erreur suivant qui vient: "l'accès au chemin d'accès c:\.... est refusé".
Pourtant si j'utilise File.Copy(), je n'ai pas de problème. De plus, le fichier ou le répertoire en question n'ont pas de restriction particulière, car si j'exécuter move, Delete ou copy avec le fichier montré plus haut, je n'ai pas de problème.
C'est vrai, qu'avex xcopy, cela peut fonctionner car il existe un fichier xcopy.exe qui se trouve en général, c:\windows\system32\....
Par contre, pour "move" et "del", ce n'est pas la même chose!
Si vous avez d'autres tuyaux, dites-le moi!
En tout cas merci pour votre aide!
Cédric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Verrisan
Messages postés59Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention23 décembre 2013 31 janv. 2007 à 16:39
Je ne sais non plus quel serait le processus qui pourrait me bloquer avec File.Delete() ou File.Move() et que avec File.Cop() cela fonctionne. C'est pour cela que je veux essayer de lancer un processus avec Process pour contourner le problème. Tu ne saurais pas comment je pourrais faire pour exécuter une commande Dos dans un Process.
Verrisan
Messages postés59Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention23 décembre 2013 1 févr. 2007 à 15:09
Non cela ne fonctionne pas, car lorsque j'exécute ceci:
Process proc = Process.Start(@"start move C:\test\fic1.xml C:\test2\fic1.xml");
j'ai le message suivant qui apparaît:
Le fichier spécifié est introuvable
Est-ce qu'il faut spécifier le répertoire de travail où se trouve le fichier "Start". Est-ce que cela a une influence si ceci est exécuté dans un Service Web.
Tracid83
Messages postés32Date d'inscriptionjeudi 16 février 2006StatutMembreDernière intervention23 mai 2007 2 févr. 2007 à 14:54
Salut j'ai réussit a exécuter des commands dos avec en créant un process.Je te donne mon code mais dans mon exemple j'utilise la commande nbtstat. J'espère que cela pourra t'aider.
ProcessStartInfo infos = new ProcessStartInfo("nbtstat.exe", "-a " + IP);
infos.RedirectStandardOutput = true;
infos.UseShellExecute = false;
Process proc = new Process();
proc.StartInfo = infos;
proc.Start();
J'ai oublier de préciser que j'ai copier dans le fichier bin\debug du projet l'exécutable nbtstat.exe
Bon courage.
Verrisan
Messages postés59Date d'inscriptionmardi 21 novembre 2000StatutMembreDernière intervention23 décembre 2013 5 févr. 2007 à 15:35
Salut,
Effectivement, en lançaint un processus avec nbtstat.exe, cela fonctionne et tu n'as meêm pas forcément besoin de le copier bin\debug, si tu le chemin c:\windows\system32 dans le PATH. Comme avec xecopy.exe, nbstat.exe est un fichier exécutable, alors qu'il n'existe pas de move.exe, delete.exe ou copy.exe et lorsqu'on lance un process, il lui faut indiquer le nom du fichier à exécuter. C'est pour cela que j'ai le message "le fichier spécifié est introuvable". Si quelqu'un connaît un moyen pour lancer un processus sans lui indiquer de nom de fichier (commande DOS du styple copy ou autre) je suis prenant!!!!
Pour revenir à mon problème initial, j'ai effectué le test suivant:
ET j'effectue ceci dans un invite de commande DOS ceci:
move c:\test\fic1.xml c:\test\fic3.xml
CELA FONCTIONNE AUSSI.
Est-ce quelqu'un saurait pourquoi, je ne peux pas effectuer en une seule fois File.Move(@"c:\test\fic1.xml", @"c:\test2\fic3.xml"), qu'est-ce qui blque???