Shell msdos, je comprend pas l'erreur

jetest Messages postés 18 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 8 septembre 2004 - 10 juin 2003 à 14:46
jetest Messages postés 18 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 8 septembre 2004 - 10 juin 2003 à 19:53
slt à tous

j'ai un projet qui decompresse un type de fichier pour en extraire les fichiers

avant compresion j'ai un .poo apres décompression j'ai .pu1 .pu2 .pu3......

pour ca j'utilise un poo.exe qui marche en mode dos, et pour la conversion il faut mettre le chemin de l'exe + le chemin du .poo

les fichiers sont decompressés là ou il y a le poo.exe

mon probleme est incomprehensible

j'ai deux lecteurs c: et d:

mon projet est fait sous d: quand je le lance de d: ca marche bien, quand je test dans c: ca marche plus.

alors pourquoi j'en sais rien du tout.

voici le code:

dossierinstall = CurDir
      Open dossierinstall & "\conv.bat" For Output As #1
      Print #1, dossierinstall & "\poo.exe " + Dir.Path & "" & File.FileName <<<<ici le creer le .bat 
    Close #1

Shell dossierinstall & "\conv.bat" <<<<< ici j'ouvre le .bat

msgbox(dossierinstall & "\poo.exe " + Dir.Path & "" & File.FileName)



bon ba voilà, je c pas se qui cloche, normallement que je lance le bat du c: ou du d: c pareil nan ?

alors pourquoi il decompresse pas sous c: ?

merci la foule

5 réponses

UnExPeCtEdSpy Messages postés 139 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 3 juillet 2003
10 juin 2003 à 14:58
Bonjour, si tu as bien mis le poo.exe sous c: y a pas de raison

hormis le fait que apparement ton repertoire de décompression est dir.path, si tu ne le change pas quand tu fais tes test sous c pui sous d, il décompressera au meme endroit et tu ne verras pas le résultat, pour faire tes test, essaie de l'obliger de decompresser dans le repertoire de l'application que tu soit sur d ou c

donc remplace le dir.path par app.path... et vois s'il decompresse bien

a+

,.~*`'^~.(^. :question) .^),.~^'`*~.
0
jetest Messages postés 18 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 8 septembre 2004
10 juin 2003 à 15:09
Chui un gros naze

l'endroit ou je test sur c: est un nom de repertoir long et donc quand je lance le .bat c pas reconnu comme commande dos

ba voilà chui dans le caca now à l'install mon programme s'installe dans c:\program files et donc mon .bat marche pas

y'a moyen de detecter un nom long ou de passer outre les noms longs du dos, que ce soit en Win98 ou XP bien sur

merci de m'avoir repondu
0
cs_Zoltan67 Messages postés 91 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 25 juin 2003 1
10 juin 2003 à 15:29
il faut que tu entoure le nom de ton dossier des doubles côtes ", pour ça tu fais
chr(34) & chemin & chr(34)
ou chemin est bien sur le chemin complet de ton fichier
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
10 juin 2003 à 17:04
Bonjour
Utilisation d'une fonction API :
Dans un module ou dans la section Général-Déclarations :

Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long

Public Function GetShortPath(strFileName As String) As String
Dim lngRes As Long, strPath As String
strPath = String$(165, 0)
lngRes = GetShortPathName(strFileName, strPath, 164)
GetShortPath = Left$(strPath, lngRes)
End Function

Et tu lances en remplaçant C:\Program Files par

GetShortPath("C:\Program Files")
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jetest Messages postés 18 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 8 septembre 2004
10 juin 2003 à 19:53
Merci les z'amis

je vais tester tout ca


Merci de vos reponses, bien aimable de votre part
0
Rejoignez-nous