2010-05-30 18 views
0

J'ai codé un exécutable C# qui utilise xcopy (cmd.exe/Q/D/C xcopy "C: \ _ Depot \ Tools \ CAD \ 2009" "C: \ Apps \ CAD 2009 "/ E/K/R/Y) pour dupliquer certains fichiers.L'opération de copie échoue lors de l'exécution de l'exécutable à l'aide du raccourci

Si j'exécute le fichier .exe en double-cliquant dessus, l'opération xcopy fonctionne à chaque fois.

Si vous exécutez le fichier .exe en double-cliquant sur un raccourci vers le fichier .exe, le xcopy fonctionne uniquement si le raccourci se trouve dans le même dossier que le fichier .exe.

J'ai essayé de définir le répertoire actuel sur le dossier de l'assembly en cours d'exécution, mais ce n'est pas une aide.

La valeur "Début dans" du raccourci a été le même dossier que le fichier .exe dans tous mes tests. (Pas que cela devrait avoir de l'importance - je veux que le code fonctionne quelle que soit la valeur.)

Des idées, des gens?

+0

S'il vous plaît nous montrer les chemins. Sont-ils cités? – SLaks

+0

"S'il vous plaît nous montrer les chemins, sont-ils cités?" - Question éditée en conséquence, et oui, les chemins sont cités dans la commande xcopy. – MiloDC

+0

Je ne sais pas pourquoi cela pourrait arriver. – SLaks

Répondre

0

J'ai compris le problème. Au lieu de Windows Explorer, j'utilise xplorer2, que je cours en tant qu'administrateur. Lorsque j'ai ouvert le raccourci de xplorer2, l'opération de copie a fonctionné. Lorsque je l'ai ouvert à partir du bureau, cependant, la copie a échoué. J'ai testé cela en ouvrant le raccourci d'abord du bureau réel (échec), puis de C: \ Users [nom d'utilisateur] \ Desktop \ in xplorer2 (succès). Mon code copie les fichiers dans la branche Program Files, ce que Windows n'autorise pas sans accès administratif, bien sûr. Désolé pour la confusion.

2

Votre code repose sur le répertoire de travail actuel. Reformatez la commande pour qu'elle ne le soit pas. Ou, montrez-nous les [args] vous passez, nous allons essayer d'aider.

+0

J'aime ce score de réputation. ("3333") – SLaks

+0

"J'aime ce score de réputation." ... Je viens juste d'arriver, mec. WTF. – MiloDC

+0

"... montrez-nous les [args] que vous passez, nous essaierons d'aider." - Will, je vais modifier ma question pour inclure cette information. – MiloDC