[R] Renommer un fichier
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Renommer un fichier
Bonjour,
J’ai un GUI ou je rentre plusieurs info, je choisis un fichier et je choisis un dossier
Je veux pouvoir enregistré une copie de ce fichier (quelque soit son type .docx, xlsx....) dans le dossier choisis. Comment je peux faire
En plus j'arrive pas à renommer des fichiers en xlsx en utilisant ExcelSaveAs !!!
J’ai un GUI ou je rentre plusieurs info, je choisis un fichier et je choisis un dossier
Je veux pouvoir enregistré une copie de ce fichier (quelque soit son type .docx, xlsx....) dans le dossier choisis. Comment je peux faire
En plus j'arrive pas à renommer des fichiers en xlsx en utilisant ExcelSaveAs !!!
Modifié en dernier par amouna98 le jeu. 22 déc. 2011 14:26, modifié 1 fois.
Re: [..] renommer un fichier
Commence par nous poster ce que tu as déjà fait, et préciser où tu bloques.amouna98 a écrit :Comment je peux faire
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
- TommyDDR
- Modérateur

- Messages : 2130
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] renommer un fichier
Un renommage de fichier n'est qu'un déplacement de fichier où la destination est le même dossier dont le nom de fichier change.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Re: [..] renommer un fichier
TommyDDR a écrit :Un renommage de fichier n'est qu'un déplacement de fichier où la destination est le même dossier dont le nom de fichier change.
DimVar a écrit : Commence par nous poster ce que tu as déjà fait, et préciser où tu bloques.
Code : Tout sélectionner
#Include <String.au3>
#include <GUIConstantsEx.au3>
#include <ComboConstants.au3>
#include <Excel.au3>
_Main()
Func _Main()
;variables Locals
;~ $source = @ScriptDir & "\000_Template_Projet" ,
Local $BTNEXIT, $MSG, $BTNOK , $BTNImport,$BTNEnregistrer
Local $file,$NOM,$Prenom,$Service,$folder,$varFile,$varFolder,$version,$TYPE,$redacteur
Local $i=0, $result="",$sFilePath="",$oExcel=""
Local $ligne=16,$CService=2,$CtypeDoc=4,$Cversion=7,$Cindice=8,$Credacteur=9,$Cdate=10,$Ctext=11,$Cnomdoc=13,$sDate = @MDAY & "/" & @MON & "/" & @YEAR
GUICreate("test ", 555, 250, 100, 100) ; will create a dialog box
GUICtrlCreateLabel("céer/modifier un fichier :", 10, 5,120,18)
GUICtrlCreateGroup("fichier ", 10, 25, 260, 190)
GUICtrlCreateLabel("importer fichier : ", 20, 45, 80, 18)
$file = GUICtrlCreateInput("", 100, 45 , 140,18)
$BTNImport = GUICtrlCreateButton("...", 240, 45, 18, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group
GUICtrlCreateGroup("Redacteur ", 280, 25, 260, 100)
GUICtrlCreateLabel("NOM : ", 300, 45, 80, 18)
$NOM = GUICtrlCreateInput("toto", 350, 45 , 140,18)
GUICtrlCreateLabel("Prenom : ",300, 70, 50, 18)
$Prenom = GUICtrlCreateInput("tata", 350, 70 , 140,18)
GUICtrlCreateGroup("localisation ", 280, 130, 260, 65)
GUICtrlCreateLabel("enregistrer dans :", 300, 155, 90, 18)
$folder = GUICtrlCreateInput("", 390, 155 , 110,18)
$BTNEnregistrer=GUICtrlCreateButton("...", 500, 155, 18, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group
;Buttons
$BTNOK = GUICtrlCreateButton("&OK", 120, 220, 100)
GUICtrlSetTip(-1, "Save")
$BTNEXIT = GUICtrlCreateButton("&Exit", 300, 220, 100)
GUICtrlSetTip(-1, "Quit the program")
GUISetState() ; will display an empty dialog box
While 1
$i=0
$MSG = GUIGetMsg()
Select
Case $MSG = $GUI_EVENT_CLOSE Or $MSG = $BTNEXIT
Exit
Case $MSG = $BTNImport
$var = FileOpenDialog("choisissez le fichier", @ScriptDir & "\", "All (*.*)" , 1 + 2 )
If @error Then
MsgBox(4096,"","No File(s) chosen")
Else
$varFile = StringReplace($var, "|", @CRLF)
MsgBox(4096,"","You chose " & $var)
$file = GUICtrlCreateInput($var, 100, 45 , 140,18)
EndIf
Case $MSG = $BTNEnregistrer
$varFolder=FileSelectFolder("Choose a folder.", @ScriptDir)
$folder = GUICtrlCreateInput($varFolder, 390, 155 , 110,18)
Case $MSG = $BTNOK
If GUICtrlRead($file)="" Then
MsgBox(0,"","Error : vous devez importer un fichier")
$i-=1
ElseIf GUICtrlRead($folder)="" Then
MsgBox(0,"","Error : vous devez choisir un repertoire")
$i-=1
ElseIf GUICtrlRead($NOM)="" or GUICtrlRead($Prenom)="" Then
MsgBox(0,"","Error : vous devez entrer votre nom et votre prenom")
$i-=1
Else
$nom=GUICtrlRead($NOM) & GUICtrlRead($Prenom)
$xlsxFile=GUICtrlRead($folder) & "\" & $nom
EndIf
;coppier et renommer le fichier
If $i=0 Then
Exit
EndIf
EndSelect
WEnd
EndFunc ;==>_Main
- TT22
- Membre émérite

- Messages : 1566
- Enregistré le : lun. 18 avr. 2011 15:21
- Localisation : La Quatrième Dimension
- Status : Hors ligne
Re: [..] Renommer un fichier
Code : Tout sélectionner
FileMove("Ton\fichier\d'origine.ext","Nouvel\emplacement\de\ton\fichier.ext")Cordialement,
TT22
TT22
Re: [..] Renommer un fichier
Si button OK, alors filecopy.
Je vois pas où tu bloques...
Je vois pas où tu bloques...
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Re: [..] Renommer un fichier
est ce que filecopy renomme le fichier ?????DimVar a écrit :Si button OK, alors filecopy.
Je vois pas où tu bloques...
pour les fichiers excel j'ai ça
Code : Tout sélectionner
Func renomer_fichier($File,$nouveauNom,$repertoire_destination)
Local $xlsxFile
$oExcel = _ExcelBookOpen($File)
If @error = 1 Then
MsgBox(0, "Error!", "Unable to Create the Excel Object")
ElseIf @error = 2 Then
MsgBox(0, "Error!", $xlsxFile & " File does not exist ")
Else
$xlsxFile=$repertoire_destination & "\" & $nouveauNom
EndIf
_ExcelBookSaveAs($oExcel, $xlsxFile , "xls")
_ExcelBookClose($oExcel, 1, 0) ;This method will save then Close the file, without any of the normal prompts, regardless of changes
EndFunc
- TommyDDR
- Modérateur

- Messages : 2130
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Renommer un fichier
amouna98 a écrit :est ce que filecopy renomme le fichier ?????
Que dire de plus...TommyDDR a écrit :Un renommage de fichier n'est qu'un déplacement de fichier où la destination est le même dossier dont le nom de fichier change.
Lisez l'aide du FileCopy / FileMove !
Vous verrez que dans les deux cas vous devez renseigner le fichier source et celui de destination, rien ne vous empêche de changer le nom dans la destination...
Parfois il faut savoir trouver la motivation pour aller lire l'aide.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Re: [..] Renommer un fichier
Un cp d'oeil à l'aide peut etre ....amouna98 a écrit : est ce que filecopy renomme le fichier ?????
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Renommer un fichier
Elle est sérieuse cette question ? Parce que là un simple cous d'oeuil dans l'aide y répond.amouna98 a écrit : est ce que filecopy renomme le fichier ?????
Toute fonction de copie de fichier de l'histoire de l’informatique renomme la copie si on inclut le nom dans le destination.
Sinon pour le simple renommage, là effectivement Autoit à une carence, on est obligé de faire un filemove
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Re: [..] Renommer un fichier
Bon je me demande est ce que vous avez compris mon problème
filemove et filecopy demande de rentrer l'extension du fichier. La est mon problème !!!!.
Mon problème c'est que ca dépond du fichier choisis à partir du GUI, je me demandais est ce qu’on peut changer le nom sans calculer l’extension !!!
Exemple filemove:
(j'utilise l'aide puisque vous en faites référence )
FileMove("C:\foo.au3", "D:\mydir\bak.au3")
Il faut préciser que c'est un .au3
mon problème c'est que le fichier source va être choisis donc je sais pas est ce que c'est un .txt ou .xls ou autre (voir mon code dans le msg d’avant avec le GUI)
J’ai pensé a récupérer l'extension et la remettre mais c'est lourd c'est pour ca que j'ai demandé de l'aide !!!!
filemove et filecopy demande de rentrer l'extension du fichier. La est mon problème !!!!.
Mon problème c'est que ca dépond du fichier choisis à partir du GUI, je me demandais est ce qu’on peut changer le nom sans calculer l’extension !!!
Exemple filemove:
(j'utilise l'aide puisque vous en faites référence )
FileMove("C:\foo.au3", "D:\mydir\bak.au3")
Il faut préciser que c'est un .au3
mon problème c'est que le fichier source va être choisis donc je sais pas est ce que c'est un .txt ou .xls ou autre (voir mon code dans le msg d’avant avec le GUI)
J’ai pensé a récupérer l'extension et la remettre mais c'est lourd c'est pour ca que j'ai demandé de l'aide !!!!
Re: [..] Renommer un fichier
et comment tu fais si tu n'as pas l'extension du fichier !!!!TommyDDR a écrit :amouna98 a écrit :est ce que filecopy renomme le fichier ?????Que dire de plus...TommyDDR a écrit :Un renommage de fichier n'est qu'un déplacement de fichier où la destination est le même dossier dont le nom de fichier change.
Lisez l'aide du FileCopy / FileMove !
Vous verrez que dans les deux cas vous devez renseigner le fichier source et celui de destination, rien ne vous empêche de changer le nom dans la destination...
Parfois il faut savoir trouver la motivation pour aller lire l'aide.
Re: [..] Renommer un fichier
pour renommer avec fileMove ou autre fonctionsylvanie a écrit :Elle est sérieuse cette question ? Parce que là un simple cous d'oeuil dans l'aide y répond.amouna98 a écrit : est ce que filecopy renomme le fichier ?????
Toute fonction de copie de fichier de l'histoire de l’informatique renomme la copie si on inclut le nom dans le destination.
Sinon pour le simple renommage, là effectivement Autoit à une carence, on est obligé de faire un filemove
IL FAUT AVOIR L'EXTENSION DU FICHIER NON???? et moi je veux qu'il garde la meme extension du fichier source sans que je sois obliger de la preciser
mon GUI permet d'importé n importe quel type de fichier et je dois changer just le nom on gardant la même extension je vois pas dans l'aide ou on explique cela ni dans filecopy ni dans filemove !!!!!!!!!!!
- Iste
- Niveau 11

- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: [..] Renommer un fichier
L’extension est une partie du nom du fichier...
A vous d'ouvrir la doc et de rechercher comment la récupérer pour la recoller. (indice : "string")
Et merci d’éviter les multi post a l'avenir...
A vous d'ouvrir la doc et de rechercher comment la récupérer pour la recoller. (indice : "string")
Et merci d’éviter les multi post a l'avenir...
Signez ici
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Renommer un fichier
exple de récupération dynamique de l'extention + copie:
► Afficher le texte
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Re: [..] Renommer un fichier
Tu n'as pas à te soucier de l'extension puisque tu mets des noms de variables pour ton filemove ou filecopy.
Autrement dit :
PS : Pour le param options du fileopendialog, tu peux additionner les valeurs (1 +2, tu peux mettre 3)
Autrement dit :
► Afficher le texte
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Re: [..] Renommer un fichier
Merci a vous tous 


