Publicité
Discussion fermée
Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 20 sur 25
  1. #1
    Expert Confirmé Sénior
    Avatar de shawn12
    Homme Profil pro Thomas Garcia
    Chef de projet en SSII
    Inscrit en
    avril 2006
    Messages
    3 369
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Garcia
    Âge : 28
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : avril 2006
    Messages : 3 369
    Points : 6 440
    Points
    6 440

    Par défaut Proposez vos codes-sources Batch

    La rubrique Windows envisage de créer une section "Sources Batch".

    Nous comptons sur vous pour nous aider à enrichir cette base de connaissances.

    Comment participer ?
    Répondez à cette discussion en proposant vos codes-sources en incluant les éléments suivants :
    • Titre du code-source
    • Versions de Windows compatibles avec le source
    • But du source (expliquer ce que fait le batch, ce qu'il renvoit, ...)
    • Expliquer brièvement l'implémentation (brève explication des syntaxes utilisées, ...)
    • Code source (encadré de balises [code])


    Merci pour votre participation.
      0  0

  2. #2
    Membre Expert
    Avatar de Senji
    Inscrit en
    juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 1 144
    Points : 1 265
    Points
    1 265

    Par défaut

    chouette idée!!!

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________
      0  0

  3. #3
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro Walid Toumi
    Inscrit en
    juillet 2008
    Messages
    960
    Détails du profil
    Informations personnelles :
    Nom : Homme Walid Toumi
    Localisation : Tunisie

    Informations forums :
    Inscription : juillet 2008
    Messages : 960
    Points : 1 610
    Points
    1 610

    Par défaut vishid.cmd

    Ce code vous permet de cacher un dossier (si vous avez des dossiers sensibles)

    par exemple votre dossier est : "C:\interdit aux autres" vous pouvez faire:
    Code :
    vishid "C:\interdit aux autres" /fr
    pour rétablir à l'état initial votre dossier il faut vous mettre dans le même répertoire que celui-ci et faire:
    Code :
    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
    ::
    ::  C-NAME: VISHID.Cmd 
    ::  AUTHOR: WALID
    ::  DATE-C: 08/04/2009
    :: 
    ::  SYNTAX: VISHID [Folder | * ] [Opt]
    ::  EX-SYN: VISHID FolderTest /pc
    ::
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @echo off & setlocal
    
    :-
    Set id1="Panneau de configuration.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
    Set id2="Poste de travail.{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
    Set id3="connexion r‚seau.{7007ACC7-3202-11D1-AAD2-00805FC1270E}"
    Set id4="print.{2227A280-3AEA-1069-A2DE-08002B30309D}"
    Set id5="Tƒches planifi‚es.{D6277990-4C6A-11CF-8D87-00AA0060F5BF}" 
    Set id6="Favoris r‚seau.{208D2C60-3AEA-1069-A2D7-08002B30309D}"
    :
    If  %1!==!  goto :aide
    If  %1!==*!   Set ?=TopSecret  &goto :suite
    If not exist "%~1" (cls&echo/
     echo:Le chemin: "%~pd0"&echo:ne comporte pas un dossier: "%*"&goto :EOF)
    
    :suite
    Set dmy=%1
    for %%a In (pc pt cr pr tp fr) do echo.%*|find /i "/%%a" >nul  && goto :-%%a
    goto :aide
    
    :-PC
     If defined ? Set dmy=
     Ren %dmy% %id1% %?%
    goto :EOF
    
    :-PT
     If defined ? Set dmy=
     Ren %dmy% %id2% %?%                
    goto :EOF
    
    :-CR
     If defined ? Set dmy=
     Ren %dmy% %id3% %?%        
    goto :EOF
    
    :-PR
     If defined ? Set dmy=
     Ren %dmy% %id4% %?%            
    goto :EOF
    
    :-TP
     If defined ? Set dmy=
     Ren %dmy% %id5% %?%            
    goto :EOF
    
    :-FR
     If defined ? Set dmy=
     Ren %dmy% %id6% %?%            
    goto :EOF
    
    
    :aide
    cls
    echo: Syntaxe: %~nx0 [Dossier-…-cacher] [/Option] 
    echo:          %~nx0 * [/Option]
    echo[
    echo:  /Option
    echo: ==============================
    echo: /pc Panneau de configuration
    echo: /pt Poste de travail
    echo: /cr Connexion r‚seau
    echo: /pr Dossier print
    echo: /tp Tƒche plannifi‚es
    echo: /fr Favoris r‚seau
    echo]
    echo: %~nx0 DossierCible /pc
    echo: "DossierCible" en Panneau de configuration
    echo.
    echo: %~nx0 * /pc
    echo: r‚tabli le dossier  en "TopSecret"
    echo.
    echo: %~nx0 "Mon Dossier Secret" /cr
    echo: "Mon Dossier Secret" en Connexion r‚seau
    echo.
      0  0

  4. #4
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro Walid Toumi
    Inscrit en
    juillet 2008
    Messages
    960
    Détails du profil
    Informations personnelles :
    Nom : Homme Walid Toumi
    Localisation : Tunisie

    Informations forums :
    Inscription : juillet 2008
    Messages : 960
    Points : 1 610
    Points
    1 610

    Par défaut DBV.Cmd

    Supprime les doublons dans un fichier.
    interprète seulement les chaînes alphanumèriques, les caractères réservés sont donc interdits

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ::
    ::  C-NAME: DBV.Cmd 
    ::  AUTHOR: WALID
    ::  DATE-C: 08/04/2009
    :: 
    ::  SYNTAX: DBV [file.ext]
    ::  EX-SYN: DBV fichier.txt
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @echo off
    if not exist "%~1" (goto:eof)
    cd.>tmp &for /f "delims=" %%* In ('type "%~1"') Do >nul findstr /ric:"^%%*\>" tmp||echo.%%* >>tmp
    dans l'exemple le fichier source est introduit comme paramètre "%~1" contient:

    Code :
    1
    2
    3
    4
    5
    abc
    cba
    abc
    abcdef
    abcdef

    le resultat sera rediriger vers le fichier tmp son contenu sera alors:

      0  0

  5. #5
    Membre Expert
    Avatar de Senji
    Inscrit en
    juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 1 144
    Points : 1 265
    Points
    1 265

    Par défaut

    Citation Envoyé par shawn12 Voir le message
    La rubrique Windows envisage de créer une section "Sources Batch".

    Nous comptons sur vous pour nous aider à enrichir cette base de connaissances.

    Comment participer ?
    Répondez à cette discussion en proposant vos codes-sources en incluant les éléments suivants :
    • Titre du code-source
    • But du source (expliquer ce que fait le batch, ce qu'il renvoit, ...)
    • Expliquer brièvement l'implémentation (brève explication des syntaxes utilisées, ...)
    • Code source (encadré de balises [code])


    Merci pour votre participation.

    Merci de respecter la charte, moi je comprend vos sources, mais ce n'est pas le cas de tout le monde.

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________
      0  0

  6. #6
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro Walid Toumi
    Inscrit en
    juillet 2008
    Messages
    960
    Détails du profil
    Informations personnelles :
    Nom : Homme Walid Toumi
    Localisation : Tunisie

    Informations forums :
    Inscription : juillet 2008
    Messages : 960
    Points : 1 610
    Points
    1 610

    Par défaut

    salut,


    Pour l'implémentation:

    Bon, pour l'implémentation, je ne sais pas, car je n'ai pas, comme beaucoup d'autres, divers systems sous la main pour les tests..de comptabilité

    Pour l'explication:

    Shawn12, que je remercie d'ici, a clairement dit (une brève explication) et c'est ce que j'ai fais, bon pour les 2 premiers codes seulement, quant aux autres ils seront bientôts supprimer de cette section vu qu'ils ne sont pas compris par tout le monde

    il est à noter aussi que la nouvelle section "Codes-source" ne sera créer que lorsque un nombre importants de codes sera ajouter dans "cette section de contribution" alors ça laissera du temps pour les réctifications,corrections,ajouts,suppressions..
      0  0

  7. #7
    Rédacteur


    Inscrit en
    janvier 2003
    Messages
    6 375
    Détails du profil
    Informations forums :
    Inscription : janvier 2003
    Messages : 6 375
    Points : 12 825
    Points
    12 825

    Par défaut

    Salut,
    Citation Envoyé par I'm_HERE
    quant aux autres ils seront bientôts supprimer de cette section vu qu'ils ne sont pas compris par tout le monde
    Oui mais du coup on a même pas l'occasion d'approfondir et de connaître les astuces utilisés, ni d'expérimenter.

    Citation Envoyé par Senji
    Merci de respecter la charte
    L'ajout d'une notion de niveau comme sur les tutoriels est préférable.
    C'est plutot la "charte" qu'il faut enrichir/modifier et pas appauvrir d'entrée de jeux cette initiative.
    Faut tirer vers le haut pas vers le bas
      0  0

  8. #8
    Membre Expert
    Avatar de Senji
    Inscrit en
    juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 1 144
    Points : 1 265
    Points
    1 265

    Par défaut

    Citation Envoyé par Laurent Dardenne Voir le message
    Salut,

    L'ajout d'une notion de niveau comme sur les tutoriels est préférable.
    C'est plutot la "charte" qu'il faut enrichir/modifier et pas appauvrir d'entrée de jeux cette initiative.
    Faut tirer vers le haut pas vers le bas
    évidement je suis tout à fait d'accord.

    1. définition du niveau (cb de niveau?)
    ex:
    ***** => expert
    *** => difficile
    * => facile
    c'est une idée.

    pour la charte

    genre :
    commenter les fonctions , les syntaxes ex:

    %~dp0 => si le fichier est sur le même répertoire, il est inutile de mettre le chemin, on peut mettre ex:%~dp0log.log
    (c'est un exemple)

    cd.>tmp &for /f ... => l'esperluette & permet d'ajouter une autre instruction sur la même ligne


    enfin c'est comme ça que je vois la chose pour que cela soit plus enrichissant et instructif pour tout le monde.

    c'est claire que tout est à définir.

    je ne sais pas si vous êtes tous d'accord.

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________
      0  0

  9. #9
    Rédacteur


    Inscrit en
    janvier 2003
    Messages
    6 375
    Détails du profil
    Informations forums :
    Inscription : janvier 2003
    Messages : 6 375
    Points : 12 825
    Points
    12 825

    Par défaut

    Citation Envoyé par Senji
    définition du niveau (cb de niveau?)


    En reprennant ceux que j'utilise pour les tutos, trois 'niveaux' me semble suffisant :
    • Débutant
    • Avancé
    • Confirmé
    Mais cela reste toujours subjectif.
    Citation Envoyé par Senji
    commenter les fonctions, les syntaxes ex:
    Si c'est fait tant mieux mais ce n'est pas obligatoire. Un fichier batch est spécifique à un traitement et est rarement générique.
    C'est le résultat du script qui nous intéressent, pas comment on obtient ce résultat. Cela n'est nécessaire que si on souhaite le corriger ou l'adapter. Si vous comptez y ajouter la compréhension ce n'est pas l'objectif d'un code source. Je peux très bien utiliser un code source et comprendre son fonctionnement 6 mois ou 2 ans plus tard.

    Pour ton exemple
    Citation Envoyé par Senji
    %~dp0 =>
    ceci est dans la documentation en ligne de Windows, pas la peine de recopier la doc dans chaque source. De plus vu les questions posées dans le forum Batch on se demande parfois s'il y en a qui lise la doc
    Citation Envoyé par Senji
    c'est claire que tout est à définir.
    Je pense qu'au contraire il est préférable de placer le moins de contrainte possible, ceci n'est pas une FAQ.
    Par contre certaines astuces peuvent se retrouver documentées dans la FAQ (pour les courageux).
    Citation Envoyé par Senji
    je ne sais pas si vous êtes tous d'accord.
    Si on peut l'être tant mieux, mais ce sera plutôt une affaire de compromis

    Faire simple. L'objectif est de partager des sources, pas d'écrire des tutoriels ni d'enrichir la FAQ.
    Structuré mais simple.
      0  0

  10. #10
    Membre Expert
    Avatar de Senji
    Inscrit en
    juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 1 144
    Points : 1 265
    Points
    1 265

    Par défaut

    ok, je vois mieux.
    donc si c'est pas une extension de la FAQ, pourrait on alors catégoriser chaque source?
    ex:
    Réseaux
    * batch logon script
    * etc...

    Active Directory
    * ....
    * ....

    Truc & astuces
    * bar de progression....

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________
      0  0

  11. #11
    Rédacteur


    Inscrit en
    janvier 2003
    Messages
    6 375
    Détails du profil
    Informations forums :
    Inscription : janvier 2003
    Messages : 6 375
    Points : 12 825
    Points
    12 825

    Par défaut

    Citation Envoyé par Senji
    pourrait on alors catégoriser chaque source?
    Oui, bien que je vois cette catégorisation du coté du gestionnaire de code sources et pas du coté du contributeur. On ajoute une info
    Ensuite, pour moi, la catégorisation est un exercice difficile, si simple qu'elle puisse paraître.

    A mon avis il faut prendre cette contribution comme une corbeille public, un peu comme ce site sur PowerShell. Son intérêt est la possibilité de correction/enrichissement d'un script (versionning). Son contributeur le poste, ensuite le script fait sa vie. Si tu ne comprends pas ce qu'il fait, personne ne viendra te le reprocher.
    S'il ne te convient pas, tu as le droit de ne pas t'en servir

    Dans ce cas c'est l'outil qui aide à structurer, pas le contributeur.
      0  0

  12. #12
    Membre Expert
    Avatar de Senji
    Inscrit en
    juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 1 144
    Points : 1 265
    Points
    1 265

    Par défaut

    cool c'est nickel et très clair pour moi.

    Merci

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________
      0  0

  13. #13
    Membre Expert
    Avatar de Senji
    Inscrit en
    juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 1 144
    Points : 1 265
    Points
    1 265

    Par défaut

    Script avec Bar de Progression en pourcentage V1.0 lol

    ce script rajoute le pourcentage du temps écoulé jusqu'à atteindre 100%
    je vais l'améliorer pour la copie afin de combler les lacune de xcopy pour ne copier que ce qui a été modifié. pour l'instant c'est la bar de progression qui est sujet.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    @echo off
    SETLOCAL ENABLEDELAYEDEXPANSION
    :Initialisation de la variable
    SET i=1
    :DEBUT
    CALL :ProgressBar %i%
    :Copie d'un rep d'une source vers une destination
    XCOPY c:\toshiba D:\Toshiba /S /E /C /I /F /Y
    
    :incrémentation de la variable
    SET /a i = i + 1
    if /i %i% LEQ 100 goto start
    GOTO :EOF
    
    :ProgressBar
    TITLE %1%% Completed
    EXIT /b
    ENDLOCAL
    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________
      0  0

  14. #14
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro Walid Toumi
    Inscrit en
    juillet 2008
    Messages
    960
    Détails du profil
    Informations personnelles :
    Nom : Homme Walid Toumi
    Localisation : Tunisie

    Informations forums :
    Inscription : juillet 2008
    Messages : 960
    Points : 1 610
    Points
    1 610

    Par défaut

    Salut,

    je te rappel de:

    Expliquer brièvement l'implémentation (brève explication des syntaxes utilisées, ...)

      0  0

  15. #15
    Membre Expert
    Avatar de Senji
    Inscrit en
    juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 1 144
    Points : 1 265
    Points
    1 265

    Par défaut

    Citation Envoyé par I'm_HERE Voir le message
    Salut,

    je te rappel de:

    Expliquer brièvement l'implémentation (brève explication des syntaxes utilisées, ...)

    LOL, vu l'échange avec Laurent D, je te dois mes humbles excuses, camarade :-)

    bye
    Merci de lire les réponses jusqu'à compréhension!!!
    RTFM

    Vive les bananes
    ______________
      0  0

  16. #16
    Invité de passage
    Inscrit en
    mars 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : mars 2009
    Messages : 2
    Points : 1
    Points
    1

    Par défaut

    bonjour,

    désolé de vous embêter,

    j'aimerai quelques explication des syntaxes

    Code :
    1
    2
    3
    If  %1!==! => ça veut dire quoi le !==!
    If  %1!==*! => même question
    et aussi le caractère d'échappement devant un pipe comme cet exemple:
    Code :
    CHO DIR ˆ| FINDSTR /R /I /C:" 0 Dir(s)" ˆ>NUL >> TEMPORARY.BAT
    Merci de votre aide
      0  0

  17. #17
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro Walid Toumi
    Inscrit en
    juillet 2008
    Messages
    960
    Détails du profil
    Informations personnelles :
    Nom : Homme Walid Toumi
    Localisation : Tunisie

    Informations forums :
    Inscription : juillet 2008
    Messages : 960
    Points : 1 610
    Points
    1 610

    Par défaut HcO.Cmd

    :: HCO.Cmd ::

    Salut,

    invite de commandes personnalisée,


    Code :
    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
    ::
    ::  C-NAME: HCO.Cmd 
    ::  AUTHOR: WALID
    ::  DATE-C: 08/04/2009
    :: 
    ::  SYNTAX: HCO
    ::  EX-SYN: HCO   
    ::
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @Echo off
    If %_%/==/ (Cmd /T:0e /K" Set _=_&%0& Prompt $S-&goto:eof") 
    Mode Con: Cols=110 Lines=50
    Title -- %~nx0 --  
    Echo.
    ::- %1=String  %2=code Couleur
    Call:Coolor "  H A P P Y   C O N S O L E" 2    
    Call:Coolor "        groups.google.batchers" 3
    Call:Coolor " Info" e0                        
    Call:Coolor "   ___Console %UserName%__" 60    
    ECHO.
    Goto:eof
    
    :Coolor
    MD $$$
    CD $$$
    Echo;>"%~1"
    findstr /a:%2 "$" "%~1*"
    CD..
    rd /s /q $$$
      0  0

  18. #18
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro Walid Toumi
    Inscrit en
    juillet 2008
    Messages
    960
    Détails du profil
    Informations personnelles :
    Nom : Homme Walid Toumi
    Localisation : Tunisie

    Informations forums :
    Inscription : juillet 2008
    Messages : 960
    Points : 1 610
    Points
    1 610

    Par défaut DSV.Cmd

    Salut,

    pour déterminer l'espace d'un disque en GB

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    ::  C-NAME: DSV.Cmd 
    ::  AUTHOR: WALID
    ::  DATE-C: 08/04/2009
    :: 
    ::  SYNTAX: DSV [L.Drive]
    ::  EX-SYN: DSV
    ::          DSV H: C: D: > file.ext   
    ::
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @echo off&Set em="GB MB"&Set ch="Partition Amovible Removeable"
    Set dc=%*&If defined dc Set dc=^|findStr /i "%*"
    for /f "tokens=3*" %%a In (
     'echo:list volume^|diskpart^|findstr "NTFS FAT32"') do call:. %%a %%b
    pause>&2&goto:eof
    :.
    Setlocal
     >nul (echo.%2|findstr %ch% ) && (Set .Start=true)
     >nul (echo.%2|findstr %em% ) && (Set .end=true)
     If defined .start If not defined .end echo:%1: %2 %3|findstr /V %ch% %dc%
     shift /2 &if %2' neq ' goto:.
    Endlocal
      0  0

  19. #19
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro Walid Toumi
    Inscrit en
    juillet 2008
    Messages
    960
    Détails du profil
    Informations personnelles :
    Nom : Homme Walid Toumi
    Localisation : Tunisie

    Informations forums :
    Inscription : juillet 2008
    Messages : 960
    Points : 1 610
    Points
    1 610

    Par défaut NServer.Cmd

    salut,

    pour afficher le NameServer:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    ::
    ::  C-NAME: NSERVER.Cmd 
    ::  AUTEUR: WALID
    ::  DATE-C: 08/04/2009 
    ::
    ::  SYNTAX: NSERVER 
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @Echo off & Setlocal enableextensions enabledelayedexpansion
    
    Set key=HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
    
    For /f "delims=" %%i In ('reg query "%key%"') Do (
      Set subkey=%%~ni
      If "!subkey:~,1!"=="{" Set clsid=!subkey! 
      If defined clsid (
       Set keyclsid=!key!\!clsid! & Set keyclsid=!keyclsid: =!
       for /f "tokens=1,2*" %%b in ('reg query "!keyclsid!" ^|findStr /i "NameServer DhcpNameServer"') do (
         Set DNS=%%d
         If defined DNS Echo CLSID=!clsid!%%b=%%d
      )
     )
    )
    pause
      0  0

  20. #20
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro Walid Toumi
    Inscrit en
    juillet 2008
    Messages
    960
    Détails du profil
    Informations personnelles :
    Nom : Homme Walid Toumi
    Localisation : Tunisie

    Informations forums :
    Inscription : juillet 2008
    Messages : 960
    Points : 1 610
    Points
    1 610

    Par défaut TXml.Cmd

    Salut,

    pour automatiser un traitement avec les fichieres Xml (renommage selon l'ID - déplacement - gestion des erreurs)


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     Le Script va déclencher un compte à rebours %c% si
     dossier %Source% ne contient pas de fichiers Xml..
     à la présence de fichiers Xml le script va chercher s'il y a 
     une balise <id> et va déclencher un autre compte à rebours %n%
     si l'<id> n'est pas présente..
     Par contre si l'ID est présente, son contenu va être le nouveau 
     nom du fichier Xml, et va ensuite être déplacer vers le dossier 
     %dest% 
       Exemple: 
    <id>Storage 3</id>   --->  Storage 3.xml

    Code :
    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
    ::
    ::  C-NAME: TXml.Cmd 
    ::  AUTHOR: WALID
    ::  DATE-C: 08/04/2009
    :: 
    ::  SYNTAX: TXml
    ::  EX-SYN: TXml [REP.SOURCE] [REP.DESTINATION]
    ::          TXml C:\Source D:\Cible
    ::
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @echo off
    Setlocal enableextensions&Set /a c=5,n=5
    
    :_répertoire Source
    Set source="%~1"
    if not exist %source% (exit /b 0)
    
    :_dossier de destination le créer s'il n'existe pas
    Set dest="%~2"
    If not Exist "%dest%" Md "%dest%"
    
    Pushd "%source%"
    :Loop
     If not exist "*.xml" (for %%V In (CALL Goto:EOF) Do %%V :NotExist)
     (FindStr "<id>" *.xml >NUL)  || (GOTO:NoTag)
     cls&dir /a-d/b "*.xml"&echo/*******************************&Echo/
     for /f "tokens=1,2 delims=:" %%A In ('findstr "<id>" *.xml') do (
     Set _="%%B"
     Call Set _=%%_:^<id^>=#%%
     Call Set _=%%_:^</id^>=#%%
     for /f "tokens=2 delims=#" %%a In ('Call echo.%%_%%^|more') do (
     Move /Y "%%~fA" "%dest%\%%a.xml"
     echo "%%~fA" ------^> %%a.xml))
    Popd
    Pause&Goto:eof
    
    :NoTag
     cls&echo/&echo     PAS DE BALISE ^<id^>: %n%
     Ping -n 5 LocalHost >nul 
     Set /a n-=1
     If %n% neq 0 goto:Loop
     Goto:eof
     :NotExist
     cls&echo/&echo     PAS DE FICHIERS XML: %c%
     Ping -n 5 LocalHost >nul
     Set /a c-=1
     If %c% neq 0 goto:Loop
      0  0

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •