dachyc
Messages postés15Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007
-
4 janv. 2007 à 12:16
cs_JMO -
9 janv. 2007 à 15:01
Bonjour,
Je suis débutante en VB et je n'y comprends pas grand chose.
Mais j'ai un répertoire dans lequel se trouve un nom de fichier de style xxx_yyy_AAMMJJHHMMSS.DAT
j'aurais besoin de recuperer dans une variable les caracteres AAMMJJHHMMSS pour les utiliser dans un .bat
Merci d'avance pour votre aide.
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 4 janv. 2007 à 13:51
ou encore celà :
toto = "xxx_yyy_AAMMJJHHMMSS.DAT"
titi = Mid(toto, 1, InStr(toto, ".") - 1)
puis utiliser à ton chois :
-soit instrev avec le caractère "_"
-soit split avec le séparateur "_" (et prendre la dernière chaine)
encore que, personnellement (je suis cinglé) , je préfèrerais la méthode "tradtionnelle ":
Private Sub Command1_Click()
toto = "xxx_yyy_AAMMJJHHMMSS.DAT"
titi = Mid(toto, 1, InStr(toto, ".") - 1)
While InStr(titi, "_") > 0
titi = Mid(titi, InStr(titi, "_") + 1)
Wend
MsgBox titi
End Sub
dachyc
Messages postés15Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 4 janv. 2007 à 14:00
oui ce que je cherche est toujours situé entre le _ et le .
pour prendre un exemple concret, mes fichiers vont s'appeler kilpro_racine_070104135845.DAT pour le fichier1 et pour le fichier2 qui sera generé un peu plus tard kilpro_racine_070104140015.DAT mais dans mon repertoire il n'y aura qu'un seul fihcier de present car l'ancien sera supprimé apres pris en compte
repoertoire de test admettons d:\temp\test
dachyc
Messages postés15Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 4 janv. 2007 à 14:08
ok, tu va vraiment me prendre pour je sais pas quoi, mais c du carabia ca pour moi en fait
je v te poser une nouvelle question
moi, ce que je connais reellement , c le nom du repertoire ou va se trouver le fichier, mais le nom du fichier je ne le connais pas a l'avance qd le prog va s'executer
jmfmarques
Messages postés7668Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 4 janv. 2007 à 14:41
Attends un peu, là, hein ?
Tu as quoi et tu connais quoi, exactement, alors ?
Il va falloir que tu apprennes à exposer tes problèmes avec précision, dès ta 1ère question !
Elle était, je te le rappelle :
"Bonjour,
Je suis débutante en VB et je n'y comprends pas grand chose.
Mais j'ai un répertoire dans lequel se trouve un nom de fichier de style xxx_yyy_AAMMJJHHMMSS.DAT
j'aurais besoin de recuperer dans une variable les caracteres AAMMJJHHMMSS pour les utiliser dans un .bat
Merci d'avance pour votre aide."
ce qui, bien évidemment, a conduit à la réponse logique que t'a faite Renfield...(et que j'aprouve !)
puis à la mienne (un peu plus fouillée et générale car je me doutais d'un truc...)
et maintenant, tu viens avec autre chose, mais toujours sans définir ce qu'est cette autre chose ...
Alors, ami, ceci n'a rien à voir avec le développement, mais totalement avec l'expression :
Exprime donc avec précision et totale exactitude ce que tu as et ce que tu cherches à faire...
A défaut : adieu !
dachyc
Messages postés15Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 4 janv. 2007 à 14:51
bon, je v essayer d'etre clair mais meme moi je m'y perd
donc :
j'ai un fichier qui arrive d'un serveur unix dans un repertoire windows d:\temp\test
le fichier qui est transferé se nomme kilpro_racine_AAMMJJHHMMSS.DAT
AAMMJJHHMMSS.DAT correspond au date et heure syteme de l'unix
donx exemple le fichier peut s'appeler une premiere fois kilpro_racine_070104144630.DAT et 2 heure plus tard kilpro_racine_060701164652.DAT
et d'autre part, ce qui est sur c que dans le repertoire d:\temp\test, il n'y a aura toujours qu'un seul fichier
mais moi je ne sais pas comment va s'appeler reellement le fichier au moment ou il arrive sur le serveur ce que je suis sur c qu'il se trouve dans le repertoire d:\temp\test et qu'il commence par kilpro_racine et se termine par .DAT
donc, en fait, ce dont j'ai besoin c de recupere la valeur de AAMMJJHHMMSS dans une variable
mais je ne sais pas du tout comment m'y prendre ni meme si c faisable
alors ma logique a moi, et je n'ai pas du tout une logique de developpement, ca serait de faire un dir du repertoire en question qu'on affecte dans un fichier ou variable un trcu du genre
lire ce fichier ou variable afin d'extraire les caracteres que j'ai besoin dans une autre variable
cavo789
Messages postés168Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention28 juillet 20091 5 janv. 2007 à 12:47
Bonjour
VB ou VBS ? Ce n'est pas vraiment la même chose.
Si je regarde ton code et si je garde en tête ton "rien ne se passe"; il me semble que c'est à peu près normal : tu ne vois rien car tu n'as pas de MsgBox (vb) ou de WScript.echo (vbs). Si cela se trouve, ton code tourne et parce qu'en l'absence d'interactivité, tu crois que rien ne se passe. OK, j'avoue que c'est jouer sur les mots.
Ton code ne fait également aucune référence à toutes les sources qui t'ont été données plus haut. Pourquoi n'essayerais-tu pas de faire confiance à Redfield et jfmmarques ?
dachyc
Messages postés15Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 5 janv. 2007 à 14:15
moi c du vbs
donc faut que je termine mon script par un WScript.echo & MyResult & c bien ca?
c pas que je ne leur fais pas confiance, c juste que je galere trop dessus depuis 15 jours vu que je suis une vraie debutante et que j'essaie de trouver de l'aide partout pour faire mon code le plus rapidement possible
cavo789
Messages postés168Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention28 juillet 20091 5 janv. 2007 à 21:56
Si tu veux afficher quelque chose, p.e., fais un WScript.Echo AllFiles dans la boucle; avant ton NextFile = Dir mais attention ceci ne t'avancera à rien d'autre qu'à constater que ton code fonctionne. Ton problème initial n'en sera pas pour autant résolu tant que tu n'auras pas mis en oeuvre les conseils qui t'ont déjà été prodigués.
dachyc
Messages postés15Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 8 janv. 2007 à 09:29
Bonjour,
Voici, ce que j'ai de nouveau essayé de faire, et encore lorsque je lance mon .vbs, rien ne se passe, il me rend la main aussi vite mais sans mettre de message d'erreur.
Merci d'avance,
Private Sub Command1_Click()
toto = Dir("d:\temp\test\*.DAT",0)
titi = Mid(toto, 1, InStr(toto, ".") - 1)
While InStr(titi, "_") > 0
titi = Mid(titi, InStr(titi, "_") + 1)
Wend
MsgBox titi
End Sub
cavo789
Messages postés168Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention28 juillet 20091 8 janv. 2007 à 12:34
Bonjour,
Il me semble à relire tout l'historique de cette conversation que tes connaissances VB sont vraiment très ... faible.
A lire ton code, c'est bien du VB que tu fais et pas du VBS. En outre, ton code correspond à un clic sur un bouton de commande nommé Command1 ==> un tel bouton de commande doit être présent dans ton formulaire VB.
Pour que ton code s'exécute, c'est donc bien depuis l'interface de VB que tu dois le lancer et seulement après un clic sur le bouton Command1.
Je te conseille d'apprendre les bases de VB avant de te lancer dans ce type de programmation.
dachyc
Messages postés15Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 8 janv. 2007 à 12:38
merci pour les conseils, mais j'ai reellement besoin de faire du vbs, et oui je l'avais bien precisé que mes connaissances vbs etaient tres mediocres.
J'ai lu pas mal de vos articles sur le site dans lequel vous aidiez les gens c pour cela que je me suis décidés a poster un sujet :)
donc, si quelqu'un peut m'aider a faire la meme chose mais en vbs, ca serait cool :)