1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    janvier 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : janvier 2017
    Messages : 10
    Points : 9
    Points
    9

    Par défaut Renommer un fichier aléatoire vers une valeur fixe

    Bonjour à tous comme vous allez sans doute vous rendre compte je débute en VBS et je bloque sur mon script.

    Je m'explique, je souhaite renommer un zip quelconque situé dans un répertoire précis vers une valeur fixe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'renommage moteur de scan'
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")
    fso.MoveFile ".\moteur\engv_amd64_ntkd_v9800-1009.zip", ".\moteur\tmengX64.zip"
    En gros le fichier Zip dans le dossier moteur est aléatoire suivant la version, j'aimerais qu'il se renomme en en tmengX64.zip quelque soit son nom initial.

    Merci par avance

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 120
    Points : 8 182
    Points
    8 182

    Par défaut

    Salut

    Ce lien --> Comment lister les fichiers d'un dossier ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim stRep 'Nom du répertoire à parcourir
    Dim oFSO,oFl
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    stRep = "C:\PersoFrancis\Tests"  '************************* A toi de mettre le chemin de ton dossier ou le .zip est créé ***************
    If oFSO.FolderExists(stRep) Then
     For each oFl in  oFSO.GetFolder(stRep).Files
       if right(ucase(oFl.Name),3)="ZIP" then
            oFl.name = "tmengX64.zip" ' -----> renomage
       end if	
     Next
    End If
    Set oFSO = nothing

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    janvier 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : janvier 2017
    Messages : 10
    Points : 9
    Points
    9

    Par défaut

    Merci pour votre réponse cela ma bien aidé en revanche lors de la déclaration de la variable stRep, je souhaite même un chemin relatif tel que ".\moteur" car mon script est sur une clé et la lettre de lecteur peut changer. Ci-joint mon script avec erreur sur la déclaration de la variable décrite précédemment.
    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
    'déclaration variable'
    Dim fso,F1
    Dim FichierZip
    Dim Extraire
    Dim objShell
    Dim FilesInZip
    Dim Dossier
     
    'renommage moteur de scan'
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")
    Set Dossier = ".\moteur"
    If fso.folderExists(dossier) then
    For each f1 in fso.Getfolder(dossier).Files
    if right(ucase(f1.name),3)="ZIP" then
    F1.name = "tmengX64.zip"
    end if
    Next
    End if

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 120
    Points : 8 182
    Points
    8 182

    Par défaut

    Salut
    car mon script est sur une clé et la lettre de lecteur peut changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim fso
    Dim Lecteur, Dossier, CheminDuDossier
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")
    Dossier = "Tests\moteur\"
     
    Lecteur = fso.GetDriveName(WScript.ScriptFullName)
    CheminDuDossier = Lecteur & "\" & dossier
    If fso.folderExists(CheminDuDossier) then
            MsgBox CheminDuDossier
            else
            MsgBox "pas bon"
    end if

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    janvier 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : janvier 2017
    Messages : 10
    Points : 9
    Points
    9

    Par défaut

    merci beaucoup cela fonctionne nickel avec quelques motifs pour utiliser en plus du lecteur un chemin relatif (dsl si j'utilise pas le bon vocabulaire)

    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
    'déclaration variable'
    Dim fso,F1
    Dim FichierZip
    Dim Extraire
    Dim objShell
    Dim FilesInZip
    Dim Dossier, Lecteur, Chemin
     
    'renommage moteur de scan'
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")
    Dossier = "moteur\"
    lecteur = fso.GetdriveName(WScript.ScriptFullName)
    Chemin = Lecteur & ".\" & dossier
    If fso.folderExists(chemin) then
    For each f1 in fso.Getfolder(chemin).Files
    if right(ucase(f1.name),3)="ZIP" then
    F1.name = "tmengX64.zip"
    end if
    Next
    End if

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 17/02/2016, 16h34
  2. [AC-2007] Importation d'un fichier CVS vers une table, ordre aléatoire des données
    Par lio33 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/01/2015, 11h48
  3. [Batch] Problème : renommer des fichiers (en supprimant une partie fixe)
    Par VforVincent dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 03/06/2011, 21h02
  4. Migrer un fichier excel vers une base sql serveur
    Par vdavid1982 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/07/2005, 16h26
  5. Importation de fichier CSV vers une base Interbase
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 15/03/2005, 15h18

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