Bonjour, je suis entrain de créer un VBS qui utilise quelques variables et je voudrai décomposer l’une de ses variables, par exemple soustraire l’extension d’un fichier ou bien son nom, quelqu’un pourrait-il me renseigner ?
Bonjour, je suis entrain de créer un VBS qui utilise quelques variables et je voudrai décomposer l’une de ses variables, par exemple soustraire l’extension d’un fichier ou bien son nom, quelqu’un pourrait-il me renseigner ?
Bonjour,
Avec les fonctions Left(), Right(), Len(), Mid(), InStr() tu as tout ce qu'il te faut.
Bonjour pc75 et mercivous nauriez pas un exemple ?
Bonjour bbil et merci pour se lienmais je n'arrive pas à comprendre, pouriez vous me donner un exemple ?
si tu suis le lien il y as des exemples.... dis nous ce que tu ve faire.. plus précisément...
Plus précisément j'ai un script qui ouvre une boite de dialogue pour aller sélectionné un fichier:
Puis il affiche le chemin de la variable oUA.FileName, je voudrai donc décomposé le chemin vers le fichier, soustraire l'extension et soustraire le nom de fichier sans le chemin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Set oUA = CreateObject("UserAccounts.CommonDialog") x = oUA.ShowOpen Wscript.echo oUA.FileName
tiens essai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Set oUA = CreateObject("UserAccounts.CommonDialog") x = oUA.ShowOpen Wscript.echo oUA.FileName Dim st Dim stExt Dim stNom Dim i st = oUA.FileName st = "c:\tmp\chxFich.vbs" stExt = Right(st,3) Wscript.echo "Extension : " & stExt i = InStrRev (st,"\") Wscript.echo i stNom = Mid(st,i)+1 Wscript.echo "Nom : " & stNom
Merci encore pour votre patience bbil, le code n'est pas au point, voila se qui se passe chez moi quand je double clique le VBS:
1_ La boite de dilogue ouvrir un fichier s'ouvre je choisi donc un fichier.
2_ Une boite de dilogue s'ouvre précisant le chemin complet du fichier.
Jusqu'ici tout va bien mais s'est ci-dessous que sa coince:
3_ Une boite de dilogue s'ouvre précisant l'extension .vbs (alors que je fichier que j'ai sélectioné et un .txt)
4_ Une boite de dilogue s'ouvre précisant le chiffre 7 (la je ne comprend pas)
5_ Puis une dernière boite de dilogue s'ouvre précisant une erreur à la ligne 14
De plus j'aimerai aussi récupérer le nom du fichier avec l'extenstion mais aussi sans l'extension.
Edite:
Ah je vien de m'apercevoir pour l'extension que voue avez modifier la variable en cour de script, donc pour sa plus de problème.
tiens j'ai un peu modifier .. mais essai de comprendre le fonctionnement ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Set oUA = CreateObject("UserAccounts.CommonDialog") x = oUA.ShowOpen Wscript.echo oUA.FileName Dim st Dim stExt Dim stNom Dim stNomSansExt Dim i ' Utilise variable temporarie st car je n'ai pas le contrôle UserAccounts.commonDialog sur ma machine st = oUA.FileName 'Prend les 3 derniers caractéres pour extension : Right = Droite stExt = Right(st,3) 'Recherche position du dernier \ i = InStrRev (st,"\") ' Prends les carcatéres suivant le \ stNom = Mid(st,i+1) 'Pour enlever l'extension prend les caractére de gauche du nom trouvé précédament - les 4 derniers caractéres ' Len = Nombre de caractéres , Left = Gauche stNomSansExt = Left(stnom,Len(stnom)-4) Wscript.echo "Fichier : "& st & vbCrLf _ & "Nom : " & stNom & vbCrLf _ & "Nom Sans extension : " & stNomSansext & vbCrLf _ & "Extension : " & stExt![]()
Genial merci encore et beaucoup pour votre patience![]()
J'aimerai optimiser une partit du code pour gagner de la place dans mon vbs:
N'y a t il pay moyen de faire un truc genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim st Dim stExt Dim stNom Dim stNomSansExt Dim i
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim st & Dim stExt & Dim stNom & Dim stNomSansExt & Dim i:
ben je vois pas en quoi tu va "gagner de la place.." ... tu peu même les supprimer ces lignes ... si tu n'en ve pas...ça marche aussi..;
Ok, un garnd merci à vous![]()
![]()
![]()
Sujet résolu![]()
Une dernière question:
Je voudrai faire la même chose mais cette foie ci avec une variable directement rensignée dans le VBS, mais je n'arrive pas à créer la variable, le code ci-dessous renvoi une erreur à la ligne 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Set VarTest = CreateObject("C:\WINDOWS\clock.avi") st = VarTest stExt = Right(st,3) i = InStrRev (st,"\") stNom = Mid(st,i+1) stNomSansExt = Left(stnom,Len(stnom)-4) Wscript.echo "Fichier : "& st & vbCrLf _ & "Nom : " & stNom & vbCrLf _ & "Nom Sans extension : " & stNomSansext & vbCrLf _ & "Extension : " & stExt
tout simplement..
Code : Sélectionner tout - Visualiser dans une fenêtre à part VarTest = "C:\WINDOWS\clock.avi"
Merci encore![]()
Partager