Bonjour je souhaiterai tester si l'extension d'un fichier est .zip :
Comment puis je faire ?Code:if extension_de(mon_fichier)=="*.zip*" echo mon_fichier
Version imprimable
Bonjour je souhaiterai tester si l'extension d'un fichier est .zip :
Comment puis je faire ?Code:if extension_de(mon_fichier)=="*.zip*" echo mon_fichier
Bonjour,
Je ne vois pas bien pourquoi tu as mis des wildcards dans ta condition, ça ne fonctionnera pas. L'autre erreur que tu as fait, c'est que tu as mis des double-quotes d'un côté de l'égalité mais pas de l'autre.
2 situations possibles :
1) Tu es dans une boucle FOR qui liste des fichiers, dans ce cas tu peux utiliser les variables de substitution de la boucle FOR ( par exemple si la variable utilisée est %%A alors l'extension peut être récupérée via la variable %%~xA )
2) Le fichier n'a pas été passé en paramètre ni ne fait partie d'une boucle FOR, dans ce cas il suffit de découper le nom du fichier pour récupérer les 4 derniers caractères :
Code:
1
2
3 set file=toto.txt echo %file:~-4% if /i "%file:~-4%"==".zip" (echo YES) else (echo NO)
Bonjour et merci pour ta réponse.
Par contre, je suis nul, j'ai essayé dans tous les ses (sauf le bon) et je n'y arrive pas.
Ma variable dans le For est %%a
ouCode:if /i %%~xa==".zip" (
Code:if /i %%~4a==".zip" (
Tu ne peux pas mettre des double-quotes d'un seul côté, soit tu en mets des 2 côtés de l'égalité, soit tu n'en mets pas.
Code:if /i "%%~xa"==".zip" (
Ou bien :
Code:if /i %%~xa==.zip (
Merci barnabé.
ca ne marche pas, je dois avoir un autre problème.
Je reprends mardi.