Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer le nom du fichier sans l'extension dans une chaine

12 réponses
Avatar
sympatix
Bonjour !

Je récupère le nom complet d'un fichier avec oFSO.GetFileName, donc,
j'ai une chaine du style "C:\Dossier\Dossier 2\Mon Fichier.txt" , et je
voudrais ne récupérer *que le nom* (sans l'extension)
Je suppose qu'il faut utiliser la ou les fonctions InStrRev ou InStr,
mais, je sais pas comment les utiliser.

Merci d'avance pour votre aide :-)

Cordialement
Sympatix

Attention, totosympatix@tototele2.fr est mon adresse antispam non
valide.
Pour me répondre, tous-les-toto-sont-en-trop, merci

...Une 2ème chance, pour ceux qui n'ont pas compris;-)
saint_path_x_arobaz_t'es_laide_euh_point_fr

10 réponses

1 2
Avatar
Iznogoud
sympatix wrote:
Bonjour !

Je récupère le nom complet d'un fichier avec oFSO.GetFileName, donc,
j'ai une chaine du style "C:DossierDossier 2Mon Fichier.txt" , et
je voudrais ne récupérer *que le nom* (sans l'extension)
Je suppose qu'il faut utiliser la ou les fonctions InStrRev ou InStr,
mais, je sais pas comment les utiliser.

Merci d'avance pour votre aide :-)


Hello,

par exemple comme ceci (nom sans extension du fichier passé en argument) :

Set args = WScript.Arguments
Set fso = CreateObject ("Scripting.FileSystemObject")
Fichier = args(0)
basename=fso.GetFileName(Fichier)
revpos=InStr(StrReverse(basename), ".")
noextname=Left(basename,Len(basename)-revpos)
wscript.echo noextname

Avatar
sympatix
Hello,
Salut !


par exemple comme ceci (nom sans extension du fichier passé en
argument) :

C'est pil-poil ce que je veux. Merci beaucoup :-)

à+

Cordialement
Sympatix

Attention, est mon adresse antispam non
valide.
Pour me répondre, tous-les-toto-sont-en-trop, merci

...Une 2ème chance, pour ceux qui n'ont pas compris;-)
saint_path_x_arobaz_t'es_laide_euh_point_fr
"Iznogoud" a écrit dans le message de
news:%
sympatix wrote:
Bonjour !

Je récupère le nom complet d'un fichier avec oFSO.GetFileName, donc,
j'ai une chaine du style "C:DossierDossier 2Mon Fichier.txt" , et
je voudrais ne récupérer *que le nom* (sans l'extension)
Je suppose qu'il faut utiliser la ou les fonctions InStrRev ou
InStr,


mais, je sais pas comment les utiliser.

Merci d'avance pour votre aide :-)


Hello,

par exemple comme ceci (nom sans extension du fichier passé en
argument) :


Set args = WScript.Arguments
Set fso = CreateObject ("Scripting.FileSystemObject")
Fichier = args(0)
basename=fso.GetFileName(Fichier)
revpos=InStr(StrReverse(basename), ".")
noextname=Left(basename,Len(basename)-revpos)
wscript.echo noextname




Avatar
Iznogoud
InStrRev ? Ah oui ça existe, on peut s'en servir comme ça :

Set args = WScript.Arguments
Set fso = CreateObject ("Scripting.FileSystemObject")
Fichier = args(0)
basename=fso.GetFileName(Fichier)
pos=InStrRev(basename, ".")
noextname=Left(basename, pos-1)
wscript.echo noextname
Avatar
sympatix
InStrRev ? Ah oui ça existe, on peut s'en servir comme ça :
C'est plus court, donc, je garde celui-là. Merci encore !



Cordialement
Sympatix

Attention, est mon adresse antispam non
valide.
Pour me répondre, tous-les-toto-sont-en-trop, merci

...Une 2ème chance, pour ceux qui n'ont pas compris;-)
saint_path_x_arobaz_t'es_laide_euh_point_fr
"Iznogoud" a écrit dans le message de
news:%
InStrRev ? Ah oui ça existe, on peut s'en servir comme ça :

Set args = WScript.Arguments
Set fso = CreateObject ("Scripting.FileSystemObject")
Fichier = args(0)
basename=fso.GetFileName(Fichier)
pos=InStrRev(basename, ".")
noextname=Left(basename, pos-1)
wscript.echo noextname



Avatar
scraper
Salut à sympatix qui dans son post

nous a écrit/répondu :

InStrRev ? Ah oui ça existe, on peut s'en servir comme ça :
C'est plus court, donc, je garde celui-là. Merci encore !



bah ....

tentons encore plus court ?

var1="C:DossierDossier 2Mon Fichier.txt"
MsgBox Mid(var1, InStrRev(var1, "") + 1)

??

:-)



--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper


Avatar
Iznogoud
scraper wrote:
tentons encore plus court ?

var1="C:DossierDossier 2Mon Fichier.txt"
MsgBox Mid(var1, InStrRev(var1, "") + 1)


Ton script renvoie : "Mon Fichier.txt"
Donc oui, c'est plus court, mais ça ne marche pas...

Quand même, 2 lignes, tu aurais pu tester :)
Ca me rappelle ces fameux "deulignes" du temps d'Hebdogiciel...

Avatar
Jacques Barathon [MS]
Allez, à mon tour d'essayer:

--- couper ici ---
Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName("C:DossierDossier 2Mon Fichier.txt")
--- couper ici ---

Jacques

"Iznogoud" wrote in message
news:%
scraper wrote:
tentons encore plus court ?

var1="C:DossierDossier 2Mon Fichier.txt"
MsgBox Mid(var1, InStrRev(var1, "") + 1)


Ton script renvoie : "Mon Fichier.txt"
Donc oui, c'est plus court, mais ça ne marche pas...

Quand même, 2 lignes, tu aurais pu tester :)
Ca me rappelle ces fameux "deulignes" du temps d'Hebdogiciel...




Avatar
Jacques Barathon [MS]
Et si vraiment tu tiens à te passer d'un objet FSO, tu peux utiliser la
technique suivante (version revue et corrigée de la technique de Scraper):

--- couper ici ---
strFilePath = "C:DossierDossier 2Mon Fichier.txt"
MsgBox Left(Mid(strFilePath, InStrRev(strFilePath, "") + 1),
InStrRev(Mid(strFilePath, InStrRev(strFilePath, "") + 1), ".") - 1)
--- couper ici ---

Jacques

"Jacques Barathon [MS]" wrote in message
news:
Allez, à mon tour d'essayer:

--- couper ici ---
Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName("C:DossierDossier 2Mon Fichier.txt")
--- couper ici ---

Jacques

"Iznogoud" wrote in message
news:%
scraper wrote:
tentons encore plus court ?

var1="C:DossierDossier 2Mon Fichier.txt"
MsgBox Mid(var1, InStrRev(var1, "") + 1)


Ton script renvoie : "Mon Fichier.txt"
Donc oui, c'est plus court, mais ça ne marche pas...

Quand même, 2 lignes, tu aurais pu tester :)
Ca me rappelle ces fameux "deulignes" du temps d'Hebdogiciel...








Avatar
sympatix
Mesdames et Messieurs bonsoir...

Et voici, après une longue délibaration du jury, la distribution des
prix, sous l'acclamation de la foule en délire....

- Prix de la rapidité: Iznogoud (clap, clap...clap...)
- Meilleur espoir de l'année: Scraper (clap, clap...clap...)
- Prix de la meilleur technicité: Jacques Barathon (clap,
clap...clap...)


Merci à tous pour votre participation (sous l'acclamation du public...)

Ici Michael Kael, en direct de fr.scripting, à vous les studios.
;-)


Cordialement
Sympatix

Attention, est mon adresse antispam non
valide.
Pour me répondre, tous-les-toto-sont-en-trop, merci

...Une 2ème chance, pour ceux qui n'ont pas compris;-)
saint_path_x_arobaz_t'es_laide_euh_point_fr
"Jacques Barathon [MS]" a écrit dans le
message de news:
Et si vraiment tu tiens à te passer d'un objet FSO, tu peux utiliser
la

technique suivante (version revue et corrigée de la technique de
Scraper):


--- couper ici ---
strFilePath = "C:DossierDossier 2Mon Fichier.txt"
MsgBox Left(Mid(strFilePath, InStrRev(strFilePath, "") + 1),
InStrRev(Mid(strFilePath, InStrRev(strFilePath, "") + 1), ".") - 1)
--- couper ici ---

Jacques

"Jacques Barathon [MS]" wrote in
message

news:
Allez, à mon tour d'essayer:

--- couper ici ---
Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName("C:DossierDossier 2Mon Fichier.txt")
--- couper ici ---

Jacques

"Iznogoud" wrote in message
news:%
scraper wrote:
tentons encore plus court ?

var1="C:DossierDossier 2Mon Fichier.txt"
MsgBox Mid(var1, InStrRev(var1, "") + 1)


Ton script renvoie : "Mon Fichier.txt"
Donc oui, c'est plus court, mais ça ne marche pas...

Quand même, 2 lignes, tu aurais pu tester :)
Ca me rappelle ces fameux "deulignes" du temps d'Hebdogiciel...












Avatar
scraper
Salut à Iznogoud qui dans son post
%
nous a écrit/répondu :

scraper wrote:
tentons encore plus court ?

var1="C:DossierDossier 2Mon Fichier.txt"
MsgBox Mid(var1, InStrRev(var1, "") + 1)


Ton script renvoie : "Mon Fichier.txt"
Donc oui, c'est plus court, mais ça ne marche pas...

Quand même, 2 lignes, tu aurais pu tester :)
Ca me rappelle ces fameux "deulignes" du temps d'Hebdogiciel...


vi, j'avais testé, mais nzappé le côté "basename" :-)

désolé, donc ...

il est clair que ça rallonge le script d'autant, et qu'on retombe sur la
proposition de Jacques ;-)
(dont la 1° proposition est la plus "propre", AMHA :-)


--

Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm

scraper


1 2