Comment accéder à un fichier du répertoire projet ? [Résolu]

cs_vinok 36 Messages postés jeudi 12 octobre 2006Date d'inscription 29 mars 2013 Dernière intervention - 9 janv. 2012 à 10:54 - Dernière réponse : Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention
- 10 janv. 2012 à 07:27
Bonjour,

Je dois lancer un batch depuis mon application C#.
Ce fichier se trouve dans un répertoire du projet.
Ma question est: comment accéder à ce fichier (chemin relatif)

Capture d'écran:

Merci


ViNoK
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
cs_vinok 36 Messages postés jeudi 12 octobre 2006Date d'inscription 29 mars 2013 Dernière intervention - 9 janv. 2012 à 14:44
3
Merci
Yes c'est bon je pointe sur le bon dossier en mettant:
string targetDir = Path.GetFullPath(Path.Combine(Application.StartupPath, @"..\..")+@"\remontee-ventes");
Le batch continue à me mettre fichier introuvable malgré tout..
Comment je peux faire pour savoir sur quoi il tape?
Voici un screenshot:


ViNoK

Merci cs_vinok 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de cs_vinok
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 9 janv. 2012 à 13:07
0
Merci
Tu peux Copier/coller le code, pas forcément des images, tu sais....

Application.StartupPath

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
cs_vinok 36 Messages postés jeudi 12 octobre 2006Date d'inscription 29 mars 2013 Dernière intervention - 9 janv. 2012 à 14:04
0
Merci
Renfield,
Merci pour ta réponse.
J'ai remplacé UserAppDataPath par Startup path.
Au débuggage il me met dans le répertoire bin, (normal puisque le .exe est dans bin)
or le dossier que je veux atteindre est à la racine de la solution,
donc il faut que j'obtiennne juste le chemin de la solution.

D'autres parts, j'ai testé un chemin absolu, et au débug il trouve bien le fichier .bat.
Par contre lorsque je lance le batch (ligne proc.start() sur l'image), le prog va direct dans le catch et me sort "fichier introuvable"...
Je ne comprend pas ! :\


ViNoK
Commenter la réponse de cs_vinok
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 9 janv. 2012 à 14:10
0
Merci
UserAppDataPath se trouve dans les LocalSettings de ton User (rien a voir, donc)

Tu peux jouer avec ..\.. :

Path.GetFullPath(Path.Combine(Application.StartupPath, @"..\.."))


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 9 janv. 2012 à 15:03
0
Merci
regarde les détails de l'exception qui a été levée


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
cs_vinok 36 Messages postés jeudi 12 octobre 2006Date d'inscription 29 mars 2013 Dernière intervention - 9 janv. 2012 à 15:24
0
Merci
Message "L'exécution du processus doit être terminée pour que les informations demandées puissent être déterminées.
ça ne me parle pas du tout...
je cherche sur le net pr voir..
ViNoK
Commenter la réponse de cs_vinok
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 9 janv. 2012 à 15:38
0
Merci
et ca coince sur la ligne .WaitForExit () ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
cs_vinok 36 Messages postés jeudi 12 octobre 2006Date d'inscription 29 mars 2013 Dernière intervention - 9 janv. 2012 à 15:45
0
Merci
Bon ça avance !
Non ça ne bloque pas dessus, j'avais juste mis un point d'arret dessus avant que le prompt s'affiche.
Donc !
Jai lancé mon .bat en direct sur cmd et il me met le meme résultat !
Donc il le trouve bien !
Ce sont les arguments qui ne passent pas !
dans la chaine arg je passe tous les arguments séapré d'un espace.
A l'execution normale, on doit avoir:
> remonter-les ventes boutique1 boutique3 boutique5 qual
Là je regarde comment vérifier que les arguments passent bien.




ViNoK
Commenter la réponse de cs_vinok
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 9 janv. 2012 à 15:50
0
Merci
que donne ton string.Format(arg) ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield
cs_vinok 36 Messages postés jeudi 12 octobre 2006Date d'inscription 29 mars 2013 Dernière intervention - 9 janv. 2012 à 15:58
0
Merci
boutique1


ViNoK
Commenter la réponse de cs_vinok
cs_vinok 36 Messages postés jeudi 12 octobre 2006Date d'inscription 29 mars 2013 Dernière intervention - 9 janv. 2012 à 16:18
0
Merci
C'est bon j'avais loupé un autre argument !
Merci beaucoup pour ton aide, je crois q c bon je v testé en environnement de qual ! :)


ViNoK
Commenter la réponse de cs_vinok
cs_vinok 36 Messages postés jeudi 12 octobre 2006Date d'inscription 29 mars 2013 Dernière intervention - 9 janv. 2012 à 17:00
0
Merci
Bon, j'ai vendu la peau de l'ours trop vite !
Donc sur ma machine de test c'est bon ça passe.
Par contre, dès que je la publie et que je l'installe via setup sur la vraie machine destinée à recevoir l'appli,
là c'est la merde.

Je m'explique:
Les chemins sont différents malgré le fait que j'utilise un chemin relatif (Application.StartupPath..)
En effet, lors de l'installation, le setup créée des dossiers partout (notamment dans le C\D&S\nom_user\Local Settings\Apps\2.0\AOKQ52KC.QRH\...)
DOnc au final je me rends compte que les fichiers dont j'ai besoin ne sont même pas là !

En résumé:
1) les fichiers que j'ai ajouté dans le panneau de droite de VS2010 (Explorateur de solution) ne sont pas tous présent après publication.
2) le path que j'avais défini risque de ne pas être bon puisqu'il publie des fichiers n'importe où...

Je continue à chercher...


ViNoK
Commenter la réponse de cs_vinok
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscription 22 août 2018 Dernière intervention - 10 janv. 2012 à 07:27
0
Merci
Pourquoi ne pas simplement mettre le .bat avec le .exe ?

pourquoi recourir a un .bat ? pourquoi ne pas effectuer ses taches dans ton code C# ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.