Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Déplacer fichiers vers repertoire

bbobb

XLDnaute Occasionnel
Bonjour à tous,
Voilà : j'ai une application qui me génère automatiquement plusieurs fichier excel par jour.
La date de création des fichiers est dans le nom.
Je souhaiterais que soit créer automatiquement un répertoire par jour et que les fichier y soient déplacés automatiquement.

Les fichiers sont nommés ainsi :
XXXXX_2010.11.13.040004.xls

et contiennent les information de la veille, il faudrait donc le déplacer vers un dossier nommé 2010.11.12

Merci d'avance
Bonne journée à tous.
Bbobb
 

Zon

XLDnaute Impliqué
Re : Déplacer fichiers vers repertoire

Salut,

à adapter à ton projet

Repertoire="c:\toto\" & year(date-1) & "." & month(date-1) & "." & day (date-1)

mkdir Repertoire


sans code difficile de t'aider +

A+++
 

bbobb

XLDnaute Occasionnel
Re : Déplacer fichiers vers repertoire

Bonjour,
J'ai trouvé un script (ci-dessous) à compiler en .exe avec un petit utilitaire (gratuit) qui se nomme autoit.
La solution ne me satisfait pas tout à fait, car il copie les fichiers dans les répertoires au lieu de les déplacer

Le Sript :
Dim $FolderName = @WorkingDir ;traite les fichiers se trouvant dans le dossier courant
ScanFolder($FolderName) ;parcours le dossier et traite les fichiers à l'intérieur
Func ScanFolder($SourceFolder)
Local $Search
Local $File
Local $FileAttributes
Local $FullFilePath
$Search = FileFindFirstFile($SourceFolder & "\*.*" ) ;traite tous les types de fichiers : utiliser *.jpg pour ne traiter que les .jpg ou .JPG par exemple
While 1
If $Search = -1 Then
ExitLoop
EndIf
$File = FileFindNextFile($Search)
If @error Then ExitLoop
$FullFilePath = $SourceFolder & "\" & $File
$t = FileGetTime($FullFilePath, 0) ;récupère la date de modification du fichier
$yyyymd = $t[0] & "-" & $t[1] & "-" & $t[2] ;met la date de modification sous la forme YYYY-MM-DD
If not FileExists(@WorkingDir & "\" & $yyyymd) Then
DirCreate(@WorkingDir & "\" & $yyyymd) ;crée le dossier s'il n'existe pas
EndIf
FileCopy($FullFilePath, @WorkingDir & "\" & $yyyymd) ;copie le fichier dans le bon dossier (en conservant les paramètres de date du fichier original)
WEnd
FileClose($Search)
EndFunc

Voilà,
Si ça peut aider et/ou si ça peut être amélioré.

Merci tous
Bbobb
 

Zon

XLDnaute Impliqué
Re : Déplacer fichiers vers repertoire

Salut,

le code que tu as récupéré te satisfait si je comprends bien ça sert à rien de refaire la cuisine alors,

il suffit juste de supprimer les fichiers xls

l'instruction kill devrait faire l'affaire :supprime tous les fichiers xls du dossier "Mondossier"

kill "C:\Mondossier\*.XLS"

A+++
 

Discussions similaires

Réponses
19
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…