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

Scripts/Batch Discussion :

Modifier du texte dans un fichier .reg


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2016
    Messages : 4
    Par défaut Modifier du texte dans un fichier .reg
    Bonjour,
    Dans le cadre de mon travail, je suis amené à remplacer des postes de travail. Je transfert le profil utilisateur de l'ancien poste vers le nouveau via l'assistant de transfert intégré dans Windows. Cela fonctionne plutôt bien sauf pour l'une des chose essentielle: le profil outlook. Je sais comment le faire manuellement mais j'aimerais automatiser cette procédure dont voici la description:
    -1- j'exporte le clé de registre suivante
    REG EXPORT HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles (pour office 2003 à 2010)
    REG EXPORT HKCU\Software\Microsoft\Office\15.0\Outlook\Profiles (pour office 2013)
    REG EXPORT HKCU\Software\Microsoft\Office\16.0\Outlook\Profiles (pour office 2016)

    -2-Comme la version d'office du nouveau poste n'est jamais la même que sur l'ancien poste, je dois modifier dans le fichier exporté les chemins avant de re-inporter
    exemple: si je passe d'outlook 2013 à 2016 je dois modifier dans le fichier .reg tous les chemins HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles par HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Profiles

    Je cherche donc à créer un fichier de commande qui sera capable de remplacer du texte dans un fichier .reg

    Je vous remercie d'avance pour votre aide

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Crée un fichier Remplace.bat

    Remplace.bat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    
    setlocal enabledelayedexpansion
    
    set "$Fichier=test.reg"
    
    (for /f "delims=" %%a in ('type "%$Fichier%"') do (
      set "$ligne=%%a"
      set "$ligne=!$ligne:%~1=%~2!
      echo !$ligne!)
    )>sortie.reg
    et lançe le de cette manière :

    remplace.bat 15.0 16.0

    Ça va te créer sortie.reg avec les valeurs modifiées


  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2016
    Messages : 4
    Par défaut
    Bonjour sachadee,
    tout d'abord merci de intéresser à mon problème. Je viens de tester et ça fonctionne en partie, ça remplace correctement le 15.0 par 16.0 mais à la sortie, le contenu n'est plus le même et il y a du texte manquant sur pas mal de lignes et les saut de ligne sont supprimé. Je mets en exemple le format du texte avant et apres pour que tu puisse te rendre compte.

    Avant modification:

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles]

    [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles\Outlook]

    [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles\Outlook\022be5022ec66642b03134de4f3602]
    "01023414"=hex:4e,49,54,41,f9,bf,b8,01,00,aa,00,37,d9,6e,00,00
    "001f300a"=hex:6d,00,73,00,70,00,73,00,74,00,2e,00,64,00,6c,00,6c,00,00,00
    "001f3d13"=hex:7b,00,36,00,34,00,38,00,35,00,44,00,32,00,00,32,00,2d,00,43,\
    00,32,00,41,00,43,00,2d,31,00,31,00,44,00,31,00,2d,00,41,00,44,00,33,00,\
    45,00,2d,00,31,00,30,00,41,00,30,00,43,00,39,00,31,00,00,43,00,39,00,43,\


    et après modification:

    Windows Registry Editor Version 5.00
    [HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Profiles]
    [HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Profiles\Outlook]
    [HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Profiles\Outlook\022be5022ec66642b03134de4f3602]
    "01023414
    "001f300a
    "001f3d13
    00,32,00,41,00,43,00,2d,31,00,31,00,44,00,31,00,2d,00,41,00,44,00,33,00,\
    45,00,2d,00,31,00,30,00,41,00,30,00,43,00,39,00,31,00,00,43,00,39,00,43,\


    D'autre part, pour la conversion des anciennes version d'outlook, il ne suffit pas de remplacer 15.0 par 16.0 mais Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles par Office\16.0\Outlook\Profiles. J'ai testé pour voir ma la ça par en sucette .
    aurais tu d'autres idées?

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Je crois que le plus simple pour toi reste :


    Remplace.bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off&cls
    if #%1#==## Goto:Erreur
    if #%2#==## Goto:Erreur
    powershell -Command "(gc test.reg) -replace '%1', '%2' | Out-File -encoding ASCII sortie.reg"
    Echo OK
    exit/b
    
    :Erreur
    Echo Manque Argument !!!
    et de nouveau tu le lançes :

    Remplace.bat "15.0" "16.0"


  5. #5
    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

    Office-Conversion.vbs
    Code vb : 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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    Option Explicit
    Const Titre = "Conversion fichiers (.reg) Profiles Outlook"
    Const ForReading = 1
    Const ForWriting = 2
    Const TriStateUseDefault = -2
    Dim sInfile,sOutfileREG,oFSO,Ws,Folder,Contents
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set Ws = CreateObject("Wscript.Shell")
    If (WScript.Arguments.Count > 0) Then
        sInfile = WScript.Arguments(0)
            If LCase(oFSO.GetExtensionName(sInfile)) <> "reg" Then 
                MsgBox "ATTENTION ! ! !" & vbcr &_
                "Pour utiliser ce programme il faut glisser et déposer un fichier avec l'extension (.reg ) sur ce script pour le convertir ",vbExclamation,Titre
                Wscript.Quit()
            End If    
    Else
        MsgBox "ATTENTION ! ! !" & vbcr &_
        "Pour utiliser ce programme il faut glisser et déposer un fichier avec l'extension (.reg ) sur ce script pour le convertir ",vbExclamation,Titre
        WScript.Quit
    End If
     
    'Nom du dossier de la conversion
    Folder = GetFilenameWithoutExtension(sInfile) & "_Office-Conversion"
    'Création du dossier de la conversion
    If Not oFSO.FolderExists(Folder) Then
        oFSO.CreateFolder(Folder)
    End If    
    sOutfileREG = Folder & "\" & GetName(sInfile) & ".reg" 
     
    If oFSO.FileExists(sOutfileREG) Then
        oFSO.DeleteFile(sOutfileREG)
    End If
     
    Contents = ReadFile(sInfile,"all")
    Contents = Replace(Contents,"15.0","16.0")
    Contents = Replace(Contents,"Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles","Office\16.0\Outlook\Profiles")
    Call WriteFile(Contents,sOutfileREG)
    '*********************************************************************
    Function ReadFile(path,mode)
        Const ForReading = 1
        Dim objFSO,objFile,i,contents
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set objFile = objFSO.OpenTextFile(path,ForReading,-2)
        If mode = "byline" then
            Dim arrFileLines()
            i = 0
            Do Until objFile.AtEndOfStream
                Redim Preserve arrFileLines(i)
                strLine = objFile.ReadLine
                strLine = Trim(strLine)
                If Len(strLine) > 0 Then
                    arrFileLines(i) = strLine
                    i = i + 1
                    ReadFile = arrFileLines
                End If    
            Loop
            objFile.Close
        End If
        If mode = "all"  Then
            contents = objFile.ReadAll
            ReadFile = contents
            objFile.Close
        End If
    End Function
    '*****************************************************************
    'Fonction pour écrire le résultat dans un fichier texte
    Sub WriteFile(strText,File)
        Dim fs,ts 
        Const ForAppending = 8
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set ts = fs.OpenTextFile(File,ForAppending,True)
        ts.WriteLine strText
        ts.Close
    End Sub
    '**********************************************************************************************
    Function DblQuote(Str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '**********************************************************************************************
    Function GetFilenameWithoutExtension(ByVal FileName)
      Dim Result, i
      Result = FileName
      i = InStrRev(FileName, ".")
      If ( i > 0 ) Then
        Result = Mid(FileName, 1, i - 1)
      End If
      GetFilenameWithoutExtension = Result
    End Function
    '**********************************************************************************************
    Function GetName(Path)
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    GetName = fso.GetBaseName(path)
    End Function
    '**********************************************************************************************
    Folder-Multi-Conversion.bat
    Code BAT : 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
    @ECHO OFF
    Title Conversion des fichiers de type (.reg^) Profiles Outlook
    Mode con cols=70 lines=5
    color 0A 
    echo.
    IF [%1] EQU [] Goto:Error
    CD /D "%~1"
    2>nul cd "%~1" && Goto:Conversion || Goto:Error
     
    :Conversion
    FOR %%f IN (*.reg) DO (echo. & echo      Conversion du fichier "%%f" ... & Cscript /NoLogo %~dp0Office-Conversion.vbs "%%f" & Cls & echo.)
    Start "" explorer "%~1"
    Exit
     
    :Error
    Color 0c
    echo.
    ECHO    Il faut glisser et deposer un dossier sur ce programme batch 
    Timeout /T 6 /NoBreak >nul
    Exit

  6. #6
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2016
    Messages : 4
    Par défaut
    Bonjour sachadee,
    Ton nouveau code fonctionne bien et je t'en remercie

    @hackoofr, je viens de tester ton script et il me retourne une erreur
    Nom : 2016-02-21_16h49_28.png
Affichages : 1126
Taille : 14,2 Ko
    ton code m’intéresse aussi donc si tu peux voir d’où vient le problème je t'en serais très reconnaissant

    bonne journée à vous

  7. #7
    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
    Citation Envoyé par -Razah- Voir le message
    Bonjour sachadee,
    Ton nouveau code fonctionne bien et je t'en remercie

    @hackoofr, je viens de tester ton script et il me retourne une erreur
    Nom : 2016-02-21_16h49_28.png
Affichages : 1126
Taille : 14,2 Ko
    ton code m’intéresse aussi donc si tu peux voir d’où vient le problème je t'en serais très reconnaissant

    bonne journée à vous
    Je crois que ça vient de l'unicode dans les fichiers .reg pouvez-vous me joindre deux fichiers différents de ces types (pour office 2003 à 2010) et (pour office 2013) pour confirmer mes propos
    @+

  8. #8
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Si tu veux ça en VBS (ça va te remplacer automatiquement le fichier d'entré (test.reg)

    C'est une version un peu plus courte que celle de mon ami @Hackoo, mais tout autant fonctionnel.

    Remplace.vbs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("Test.reg", 1)
    
    strText = objFile.ReadAll
    objFile.Close
    strNewText = Replace(strText, wscript.arguments(0), wscript.arguments(1))
    
    Set objFile = objFSO.OpenTextFile("Test.reg", 2)
    objFile.WriteLine strNewText
    
    objFile.Close
    Tu peux le lançer directement :

    Remplace.vbs "15.0" "16.0"

    Ou si tu veux passer par un BAT :

    Remplace.bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @echo off&cls
    if #%1#==## Goto:Erreur
    if #%2#==## Goto:Erreur
    cscript //nologo Remplace.vbs %1 %2
    Echo OK
    exit/b
    
    :Erreur
    Echo Manque Argument !!!
    que tu lançes :

    Remplace.bat "15.0" "16.0"


    On peu rajouter le nom du fichier d'entré en argument également.


  9. #9
    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

    @Sacha
    On tombe bien sur le même problème d'encodage UTF-16LE car quand on exporte des fichiers de type .reg de la base de registre, ils vont être encodés en UTF-16LE
    Je les vérifier avec Notepad++
    C'est pour ça que j'attends que notre ami nous joint quelques exemples pour vérifier ceci
    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    REG EXPORT HKCU\Software\Microsoft\Windows\CurrentVersion\Run RunHKCU.reg /y
    pause
    @+

  10. #10
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2016
    Messages : 4
    Par défaut
    Bonjour hackoofr,
    je te mets en pièce jointe les fichiers reg exporté pour ton expertise.
    Fichiers attachés Fichiers attachés

  11. #11
    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 Modifier du texte dans plusieurs fichiers.reg à la fois par glisser et déposer

    Mes doutes ont été bien confirmés
    Et avec ce code tout devient dans l'ordre
    Office-Conversion.vbs ==> pour convertir un seul fichier.reg par glisser et déposer (drag and drop)
    Code vb : 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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    Option Explicit
    Const Titre = "Conversion fichiers (.reg) Profiles Outlook"
    Const ForReading = 1
    Const ForWriting = 2
    Const TriStateUseDefault = -2
    Dim sInfile,sOutfileREG,oFSO,Ws,Folder,Contents,TypeEncoding
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set Ws = CreateObject("Wscript.Shell")
    If (WScript.Arguments.Count > 0) Then
        sInfile = WScript.Arguments(0)
            If LCase(oFSO.GetExtensionName(sInfile)) <> "reg" Then 
                MsgBox "ATTENTION ! ! !" & vbcr &_
                "Pour utiliser ce programme il faut glisser et déposer un fichier avec l'extension (.reg ) sur ce script pour le convertir ",vbExclamation,Titre
                Wscript.Quit()
            End If    
    Else
        MsgBox "ATTENTION ! ! !" & vbcr &_
        "Pour utiliser ce programme il faut glisser et déposer un fichier avec l'extension (.reg ) sur ce script pour le convertir ",vbExclamation,Titre
        WScript.Quit
    End If
     
    'Nom du dossier de la conversion
    Folder = GetFilenameWithoutExtension(sInfile) & "_Office-Conversion"
    'Création du dossier de la conversion
    If Not oFSO.FolderExists(Folder) Then
        oFSO.CreateFolder(Folder)
    End If    
    sOutfileREG = Folder & "\" & GetName(sInfile) & ".reg" 
     
    If oFSO.FileExists(sOutfileREG) Then
        oFSO.DeleteFile(sOutfileREG)
    End If
    TypeEncoding = CheckEncoding(sInfile)
    Contents = ReadFile(sInfile,TypeEncoding)
    Contents = Replace(Contents,"15.0","16.0")
    Contents = Replace(Contents,"Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles","Office\16.0\Outlook\Profiles")
    Call WriteFile(Contents,sOutfileREG)
    '*********************************************************************
    Function CheckEncoding(filename)
        Dim fso,ts,char1,char2
        set fso = createobject("scripting.filesystemobject")
        set ts = fso.opentextfile(filename)
        char1 =ts.read(1)
        char2 =ts.read(1)
        ts.close
        if asc(char1) = 255 and asc(char2) = 254 then
            CheckEncoding = "unicode"
        else
            CheckEncoding = "ascii"
        end if
    End Function
    '*********************************************************************
    Function ReadFile(path,mode)
        Const ForReading = 1
        Const TriStateUseDefault = -2
        Dim objFSO,objFile,i,contents
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        If mode = "unicode" Then
            Set objFile = objFSO.opentextfile(path,,,true)
            contents = objFile.ReadAll
            ReadFile = contents
            objFile.Close
        End If
        If mode = "byline" then
        Set objFile = objFSO.OpenTextFile(path,ForReading)
            Dim arrFileLines()
            i = 0
            Do Until objFile.AtEndOfStream
                Redim Preserve arrFileLines(i)
                strLine = objFile.ReadLine
                strLine = Trim(strLine)
                If Len(strLine) > 0 Then
                    arrFileLines(i) = strLine
                    i = i + 1
                    ReadFile = arrFileLines
                End If    
            Loop
            objFile.Close
        End If
        If mode = "all"  Then
            contents = objFile.ReadAll
            ReadFile = contents
            objFile.Close
        End If
    End Function
    '*****************************************************************
    'Fonction pour écrire le résultat dans un fichier texte
    Sub WriteFile(strText,File)
        Dim fs,ts 
        Const ForAppending = 8
        Const TriStateUseDefault = -2 'Unicode
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set ts = fs.OpenTextFile(File,ForAppending,True,TriStateUseDefault)
        ts.WriteLine strText
        ts.Close
    End Sub
    '**********************************************************************************************
    Function DblQuote(Str)
        DblQuote = Chr(34) & Str & Chr(34)
    End Function
    '**********************************************************************************************
    Function GetFilenameWithoutExtension(ByVal FileName)
      Dim Result, i
      Result = FileName
      i = InStrRev(FileName, ".")
      If ( i > 0 ) Then
        Result = Mid(FileName, 1, i - 1)
      End If
      GetFilenameWithoutExtension = Result
    End Function
    '**********************************************************************************************
    Function GetName(Path)
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    GetName = fso.GetBaseName(path)
    End Function
    '**********************************************************************************************
    Folder-Multi-Conversion.bat ==> pour convertir plusieurs fichiers.reg à la fois contenus dans un dossier par glisser et déposer (drag and drop)
    Code BAT : 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
    @ECHO OFF
    Title Conversion des fichiers de type (.reg^) Profiles Outlook
    Mode con cols=70 lines=5
    color 0A 
    echo.
    IF [%1] EQU [] Goto:Error
    CD /D "%~1"
    2>nul cd "%~1" && Goto:Conversion || Goto:Error
     
    :Conversion
    FOR %%f IN (*.reg) DO (echo. & echo      Conversion du fichier "%%f" ... & Cscript /NoLogo %~dp0Office-Conversion.vbs "%%f" & Cls & echo.)
    Start "" explorer "%~1"
    Exit
     
    :Error
    Color 0c
    echo.
    ECHO    Il faut glisser et deposer un dossier sur ce programme batch 
    Timeout /T 6 /NoBreak >nul
    Exit
    Maintenant, il vous suffit de glisser et déposer le dossier outlook que vous m'avez envoyé tout à l'heure sur le fichier batch : Folder-Multi-Conversion.bat et le tour est joué comme dans cette simulation similaire



Discussions similaires

  1. modifier une ligne dans un fichier texte
    Par junkie1986 dans le forum Tcl/Tk
    Réponses: 6
    Dernier message: 09/04/2013, 15h17
  2. modifier du texte dans un gros fichier texte
    Par christolb59 dans le forum MATLAB
    Réponses: 1
    Dernier message: 17/08/2012, 00h06
  3. [XL-2003] Modifier/Ajouter texte dans fichier .Txt sans effacer
    Par toukii dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/06/2009, 09h21
  4. Modifier un enregistrement dans un fichier texte
    Par Ludo75 dans le forum Langage
    Réponses: 4
    Dernier message: 10/05/2008, 00h05
  5. Modifier un texte dans les fichiers d'un répertoire
    Par Azenet dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 09/01/2008, 12h43

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