IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Ajouter date du jour a un fichier


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut Ajouter date du jour a un fichier
    Bonjour,

    Je cherche un moyen pour rajouter la date du jour a un nom de fichier.
    Ce que je fais dans un premier temps, et de changer le nom du fichier, puis par la suite, je veux rajouter la date du jour a ce fichier.
    Voici le code et merci d avance pour l aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    Option Explicit
     
    Dim StdIn:  Set StdIn = WScript.StdIn
    Dim StdOut: Set StdOut = WScript
    Dim fso:    Set fso = CreateObject("Scripting.FileSystemObject")
     
    Dim FilesRenamed:   FilesRenamed = 0
    Dim FilesSkipped:   FilesSkipped = 0
     
    Main
     
    set fso = nothing
     
    Sub Main
     
       'StdOut.Echo "The version of WSH on this computer is: " & WScript.Version
     
       'get the parameter list   
       dim objArgs: Set objArgs = WScript.Arguments
     
       if objArgs.Count > 2 then
     
    	dim path: path = objArgs(0)  'path
    	dim olds: olds = objArgs(1)  'string to replace
    	dim news: news = objArgs(2)  'new string
     
    	dim ext1: ext1 = ""
    	dim ext2: ext2 = ""
    	if objArgs.Count > 3 then ext1 = objArgs(3)  'old extension
    	if objArgs.Count > 4 then ext2 = objArgs(4)  'new extension			
     
    	dim CurrentFolder: Set CurrentFolder = fso.GetFolder(path)
    	'StdOut.Echo "Warning: All files within the directory """ & CurrentFolder.Path & """ will be renamed."
     
    	ProcessFolder CurrentFolder , olds, news, ext1,ext2
     
     
       else
    	   StdOut.Echo "Usage: rename.vbs [folder path] [string to replace] [new string] [old extension] [new extension] "
       end if
     
    End Sub
     
    '
    'ProcessFolder
    '  
    '  Iterates  thru the file list replacing patterns and the extension if available
    '
    Sub ProcessFolder (ByVal folder, ByVal oldTag, ByVal newTag, ByVal extOld, ByVal extNew)
       Dim Files: Set Files = folder.Files
     
       Dim File
       For Each File In Files
          If inStr(1,File.Name,oldTag) > 0 Then         
             'File.Move Replace(File.Path,Find,newTag)         
             'StdOut.Echo Replace(File.Path,oldTag,newTag) & vbCRLF
     
             if (extOld <> "" and extNew <> "") then
    			'StdOut.Echo Replace(Replace(File.Path,oldTag,newTag),extOld,extNew)
    			File.Move Replace(Replace(File.Path,oldTag,newTag),extOld,extNew)
    		 else
    			'StdOut.Echo Replace(File.Path,oldTag,newTag)
    			File.Move Replace(File.Path,oldTag,newTag)
             end if
     
             FilesRenamed = FilesRenamed + 1
          Else
             FilesSkipped = FilesSkipped + 1
           End If
       Next
    End Sub

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    et le probléme c'est quoi ...? ton code fonctionne-t'il..?

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    salut,

    mon code fonctionne bien.....lorsque je tape en commande dos le renamefiles "mon repertoire" "mon nom de fichier" "partie du nom de fichier que je veux supprimer", alors ca fonction.
    renamesfiles est le nom de mon .vbs.
    Ce que je cherche a faire est d avoir ce nouveau nom de fichier avec la date du jour.
    J espere que j ai bien expliqué,lol

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben on sait pas ou tu veu mettre ta date ... voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wscript.echo Year(date) & Month(date) & Day(Date)

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    désolé j ai mal expliqué mon probleme.
    J ai un fichier qui s appelle test.txt, je veux le renommer en fichier20061204.txt (soit avec la date d aujourd hui).

    Ce qui marche en ce moment dans mon script est quand je tape en commande dos:
    renamefiles.vbs "c:\" "test.txt" "fichier.txt", alors le test.txt se renomme bien fichier.txt.

    Mon probleme est que je ne voi pas comment faire pour lui rajouter la date du jour, soit qu il devient fichier20061204.txt si je lance le script aujourd hui

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    il te suffit d'utiliser les fonction Year,Month et day ..par exemple...:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Sub ProcessFolder (ByVal folder, ByVal oldTag, ByVal newTag, ByVal extOld, ByVal extNew)
       Dim Files: Set Files = folder.Files
     
       Dim stDate 'Date actuelle
       dim stNouveauNom 'Nouveau nom de fichier
       stDate = Year(date) & Right("0" & Month(date),2) & Right("0" & Day(date),2)
     
       Dim File
       For Each File In Files
          If inStr(1,File.Name,oldTag) > 0 Then        
             'File.Move Replace(File.Path,Find,newTag)        
             'StdOut.Echo Replace(File.Path,oldTag,newTag) & vbCRLF
     
             if (extOld <> "" and extNew <> "") then
                'StdOut.Echo Replace(Replace(File.Path,oldTag,newTag),extOld,extNew)
                stNouveauNom =  Replace(Replace(File.Path,oldTag,newTag),extOld,extNew)
             else
                'StdOut.Echo Replace(File.Path,oldTag,newTag)
                stNouveauNom = Replace(File.Path,oldTag,newTag)
             end if
     
              'Remplace le . par date.
              FileMove replace(stNouveauNom,".","." & stDate)
     
     
             FilesRenamed = FilesRenamed + 1
          Else
             FilesSkipped = FilesSkipped + 1
           End If
       Next
    End Sub

Discussions similaires

  1. Réponses: 30
    Dernier message: 10/02/2015, 14h02
  2. Chercher une valeur dans une colonne date du jour dans un fichier
    Par philippe34130 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/08/2013, 17h41
  3. gerer les dates (mois / jours) sur un fichier cpt
    Par hortencia dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/06/2011, 09h40
  4. Renommer un fichier a la date du jour
    Par mandrack dans le forum Linux
    Réponses: 3
    Dernier message: 15/12/2008, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo