[R] Supprimer l'extension d'un fichier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Vins83
Membre émérite
Membre émérite
Messages : 220
Enregistré le : mer. 25 juil. 2007 17:43
Status : Hors ligne

[R] Supprimer l'extension d'un fichier

#1

Message par Vins83 »

Bonsoir à tous,je crois que le titre du sujet est assez claire,je cherche à supprimer l'extension de fichiers *.html ,quelqu'un serait il comment faire celà.

Vins83.html en Vins83

J'suis sûr que ça doit etre tout bete,mais pas moyen de trouver,ou j'utilise pas le bon truc..

Merci beaucoup
Modifié en dernier par Vins83 le mer. 23 avr. 2008 19:27, modifié 1 fois.
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [..] Supprimer l'extension d'un fichier

#2

Message par arrkhan »

je pense que comme ca, ca doit le faire

Code : Tout sélectionner

FileMove("c:\fichier.html", "C:\fichier", 1)(
Edit: Pourquoi as-tu posté dans "Création de script" ?
Avatar du membre
Vins83
Membre émérite
Membre émérite
Messages : 220
Enregistré le : mer. 25 juil. 2007 17:43
Status : Hors ligne

Re: [..]Supprimer l'extension d'un fichier

#3

Message par Vins83 »

Le probleme c'est que si je veux copier plusieurs fichiers c'est là que j'ai un probleme

ça

Code : Tout sélectionner

FileCopy("*.html",@ScriptDir & "\vins\*.*",9)
ou ça

Code : Tout sélectionner

FileCopy("*.html",@ScriptDir & "\vins\*",9)
ne fonctionne pas...

Pour un fichier qui est connu,effectivement pas de probleme,mais dison que nous ne connaissons pas le nom des fichiers..

Merci .
Avatar du membre
tofu
Niveau 3
Niveau 3
Messages : 30
Enregistré le : mar. 15 avr. 2008 14:48
Status : Hors ligne

Re: [..]Supprimer l'extension d'un fichier

#4

Message par tofu »

Bonjour,

Je ne sais pas si j'ai bien cerné ton problème, j'ai réalisé un petit script montrant un exemple de copie de fichier puis renommant ensuite les fichiers ayant été copiés de façon à supprimer leur extension, j'espère que cela pourra t'aider dans ce que tu veux faire.

Code : Tout sélectionner

#Include <File.au3>
#Include <Array.au3>

$dirStart = @ScriptDir & "\" ; Dossier de départ où sont stockés les fichiers à copier
$dirTarget = @ScriptDir & "\vins\" ; Dossier cible

FileCopy($dirStart & "*.html",$dirTarget,9) ; On copie nos fichiers dans le dossier cible voulu

$listeFichiers =_FileListToArray($dirTarget) ; On récupère la liste des fichiers du dossier cible

_ArrayDelete($listeFichiers,0) ; On supprime la case "0" pour ne garder que les noms des fichiers du dossier cible

For $element IN $listeFichiers ; Pour chaque élément du tableau contenant la liste des fichiers du dossier cible
    
    $nom = StringSplit($element,".") ; on découpe le fichier pour récupérer uniquement le nom dans $nom[1]
    
    FileMove($dirTarget & $element,$dirTarget & $nom[1],9) ; On déplace le fichier au même endroit mais en le renommant uniquement avec le nom sans l'extension
    
Next
Je pense que les commentaires explicitent assez bien, cela dit si tu désires des précisions sur certains points n'hésites pas.

Cordialement,
L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Vins83
Membre émérite
Membre émérite
Messages : 220
Enregistré le : mer. 25 juil. 2007 17:43
Status : Hors ligne

Re: [..]Supprimer l'extension d'un fichier

#5

Message par Vins83 »

Merci beaucoup,j'ai modifié juste un petit truc pour virer juste les 5 derniers caractéres

Code : Tout sélectionner

#Include <File.au3>
#Include <Array.au3>

$dirStart = @ScriptDir & "\" ; Dossier de départ où sont stockés les fichiers à copier
$dirTarget = @ScriptDir & "\vins\" ; Dossier cible

FileCopy($dirStart & "*.html",$dirTarget,9) ; On copie nos fichiers dans le dossier cible voulu

$listeFichiers =_FileListToArray($dirTarget) ; On récupère la liste des fichiers du dossier cible

_ArrayDelete($listeFichiers,0) ; On supprime la case "0" pour ne garder que les noms des fichiers du dossier cible

For $element IN $listeFichiers ; Pour chaque élément du tableau contenant la liste des fichiers du dossier cible
    
    $nom = StringTrimRight ($element,5) ; on découpe le fichier pour récupérer uniquement le nom dans $nom[1]
    
    FileMove($dirTarget & $element,$dirTarget & $nom,9) ; On déplace le fichier au même endroit mais en le renommant uniquement avec le nom sans l'extension
    
Next
Avec StringTrimRight sa passe trés bien..

Merci a tous
Avatar du membre
tofu
Niveau 3
Niveau 3
Messages : 30
Enregistré le : mar. 15 avr. 2008 14:48
Status : Hors ligne

Re: [R]Supprimer l'extension d'un fichier

#6

Message par tofu »

Oui c'est sur avec le trim ça fonctionne dans le cas présent.

En fait, j'avais utilisé le split de façon à rendre ça assez générique ne sachant pas si au final cela te servirait uniquement pour des fichiers html où pour d'autres extensions également. (Puis, si ça peut servir à d'autres, autant qu'ils aient directement quelque chose de plus générique :wink: )

Cordialement,
L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Supprimer l'extension d'un fichier

#7

Message par Tlem »

Juste pour le fun, et pour ne pas utiliser d'Include ;)

Code : Tout sélectionner

$dirSearch = @ScriptDir & "\" ; Répertoire des fichiers à renommer.

$search = FileFindFirstFile($dirSearch & "*.html") ; Recherche tous les fichiers html du répertoire.

; Vérifie si la recherche est fructueuse.
If $search = -1 Then
    MsgBox(0, "Erreur", "Aucun fichiers trouvé")
    Exit
EndIf

; Boucle de recherche.
While 1
    $file = FileFindNextFile($search) 
    If @error Then ExitLoop
    ; Pour récupérer le nom sans l'extention (Si on s'en tient à html le code suivant peut être
    ; trés simplifier).
    $FileNoExt = StringTrimRight($file, StringLen($file) + 1 - StringInStr($file, ".", 0, -1))

    ; On renomme.
    FileMove($dirSearch & $file, $dirSearch & $FileNoExt, 1)
WEnd

; Ferme le handle de recherche
FileClose($search)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre