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 :

renommer un fichier sélectionné dans un répertoire


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 830
    Par défaut renommer un fichier sélectionné dans un répertoire
    Bonjour,

    Je m'adresse à vous pour savoir s'il est possible de renommer un fichier après l'avoir sélectionné dans un répertoire, j'ai un petit bout de code qui permet d'ouvrir l'explorer, mais comment récupérer le chemin complet du fichier sélectionné dans une variable et ensuite rechercher le texte saisie dans un MsgBox ou InputBox et le remplacé le texte saisie dans un second MsgBox ou InputBox ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
    Dim Saisie1, Saisie2, oShell, objFSO, chemin
    Set oShell = CreateObject("WScript.Shell")
    oShell.Run("explorer.exe /select, C:")
     
    Saisie1 = InputBox("Quelle chaine de caracteres voulez-vous remplacer ")
    If Saisie1 = "" Then WScript.Quit
     
    Saisie2 = InputBox("Par quelle chaine de caracteres voulez-vous remplacer la chaine ( " & Saisie1 & " ) ?")
    If Saisie2 = "" Then WScript.Quit
     
    'chemin= chemin complet du fichier sélectionné
     
    Replace (chemin, "active", "desactive")
    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut [VBS]Dialogue "Sélectionner un fichier" toutes versions de Windows avec filtres et choix du répertoire initial

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 830
    Par défaut
    Bonjour hackoofr,

    Merci pour ta réponse

    Après avoir consulté le lien que tu m'as indiqué, j'ai modifié mon
    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
    Dim Saisie1, Saisie2, chemin
    Function GetFileDlg(sIniDir,sFilter,sTitle)
    	GetFileDlg=CreateObject("WScript.Shell").Exec("mshta.exe ""about:<object id=d classid=clsid:3050f4e1-98b5-11cf-bb82-00aa00bdce0b></object><script>moveTo(0,-9999);function window.onload(){var p=/[^\0]*/;new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(p.exec(d.object.openfiledlg('" & sIniDir & "',null,'" & sFilter & "','" & sTitle & "')));close();}</script><hta:application showintaskbar=no />""").StdOut.ReadAll
    End Function
     
    Function GetFileDlgBar(sIniDir,sFilter,sTitle)
    	GetFileDlgBar=CreateObject("WScript.Shell").Exec("mshta.exe ""about:<object id=d classid=clsid:3050f4e1-98b5-11cf-bb82-00aa00bdce0b></object><script>moveTo(0,-9999);function window.onload(){var p=/[^\0]*/;new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(p.exec(d.object.openfiledlg('" & sIniDir & "',null,'" & sFilter & "','" & sTitle & "')));close();}</script>""").StdOut.ReadAll
    End Function
     
    ' exemple test
    sIniDir = "C:\Windows\Fonts\*"
    sFilter = "All files (*.*)|*.*|Microsoft Word (*.doc;*.docx)|*.doc;*.docx|Adobe pdf (*.pdf)|*.pdf|"
    sTitle = "GetFileDlg by omen999 2014 - omen999.developpez.com"
     
    ' sIniDir doivent être conformes à la syntaxe JavaScript
    chemin = GetFileDlg(Replace(sIniDir,"\","\\"),sFilter,sTitle)
    MsgBox chemin '& vbcrlf & Len(rep)
     
    Saisie1 = InputBox("Quelle chaine de caracteres voulez-vous remplacer ")
    If Saisie1 = "" Then WScript.Quit
     
    Saisie2 = InputBox("Par quelle chaine de caracteres voulez-vous remplacer la chaine ( " & Saisie1 & " ) ?")
    If Saisie2 = "" Then WScript.Quit
     
    'Replace (chemin, Saisie1, Saisie2)
    La syntaxe Replace ne fonctionne pas ?

    Avez-vous la solution.

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    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
    Function GetFileDlgEx(sIniDir,sFilter,sTitle) '"no limit" Browse dialog : the global size of the parameters isn't limited anymore
        Set oDlg = CreateObject("WScript.Shell").Exec("mshta.exe ""about:<object id=d classid=clsid:3050f4e1-98b5-11cf-bb82-00aa00bdce0b></object><script>moveTo(0,-9999);eval(new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0).Read("&Len(sIniDir)+Len(sFilter)+Len(sTitle)+41&"));function window.onload(){var p=/[^\0]*/;new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(p.exec(d.object.openfiledlg(iniDir,null,filter,title)));close();}</script><hta:application showintaskbar=no />""")
        oDlg.StdIn.Write "var iniDir='" & sIniDir & "';var filter='" & sFilter & "';var title='" & sTitle & "';"
        GetFileDlgEx = oDlg.StdOut.ReadAll
    End Function
     
    sIniDir = "C:\*"
    sFilter = "All files (*.*)|*.*|Microsoft Word (*.doc;*.docx)|*.doc;*.docx|Adobe pdf (*.pdf)|*.pdf|"
    sTitle = "GetFileDlg by omen999 2014 - omen999.developpez.com"
     
    chemin = GetFileDlgEx(Replace(sIniDir,"\","\\"),sFilter,sTitle)
    MsgBox chemin
     
    Saisie1 = InputBox("Quelle chaine de caracteres voulez-vous remplacer ")
    If Saisie1 = "" Then WScript.Quit
     
    Saisie2 = InputBox("Par quelle chaine de caracteres voulez-vous remplacer la chaine ( " & Saisie1 & " ) ?")
    If Saisie2 = "" Then WScript.Quit
     
    MsgBox Replace(chemin,Saisie1,Saisie2)

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 830
    Par défaut
    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Replace(chemin,Saisie1,Saisie2)
    Ça change rien la chaine de caractères n'est pas remplacée ???

    Je continu à chercher une solution.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 830
    Par défaut
    Finalement j'ai trouvé la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    newchemin= Replace(chemin,Saisie1,Saisie2)
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.MoveFile chemin , newchemin
    Set objFSO = Nothing
    Merci beaucoup pour ton aide.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/12/2007, 12h23
  2. [Débutant] Lire plusieurs fichiers txt dans un répertoire
    Par leneuf dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/10/2006, 12h39
  3. Réponses: 6
    Dernier message: 14/06/2006, 16h55
  4. Réponses: 3
    Dernier message: 13/12/2005, 00h21
  5. [FPDF] créer un fichier PDF dans le répertoire courant
    Par patdez dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/10/2005, 15h37

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