DOS: Résultat de la cmd Dir dansune variable

Fredlau -  
 TheCric -
Bonsoir,

je cherche le moyen de récupérer le résultat de la commande dir dans la variable, et plus exactement la taille d'un fichier precis...

Merci d'avance.
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. TheCric Messages postés 5 Statut Membre 1
     
    Rem--------- couper ci-dessous------------------
    Rem On cherche ici les information de répertoire d'un fichier
    rem par exemple le fichier de boot des windows NT, Windows 2000, XP ou Windows 2003 appelé boot.ini
    rem on stocke ces informations dans un fichier qui servira à la partie droite d'une affectation de variable


    dir /ah c:\boot.ini|find "boot.ini"> %tmp%\PartieDroite.tmp

    Rem pour la partie gauche de l'affectation
    Rem dans un fichier temporaire, on écrit set toto =
    Rem cela avec ni entête inutile , ni CRLF à la fin

    <nul (set/p z=set toto=)>%tmp%\PartieGauche.tmp

    Rem Pour exécuter l'affectation, on fabrique Affectation.cmd,
    Rem sous-programme batch qui affectera la variable toto

    copy "%tmp%\PartieGauche.tmp"+"%tmp%\PartieDroite.tmp" "%tmp%\Affectation.cmd"

    Rem No comment ;-)
    call %tmp%\affectation.cmd

    echo voici toto:
    echo %toto%
    pause

    Rem on peut extraire la sous-chaine correspondant à la taille
    SET taille=%toto:~18,17%

    echo voici la taille de boot.ini
    echo %taille%
    pause

    Rem fichiers à effacer si vous ne voulez pas laisser de traces....
    rem del %tmp%\Affectation.cmd
    rem del %tmp%\partiegauche.tmp
    rem del %tmp%\partiedroite.tmp

    rem ------------------- The End Folks ---------------------------------

    On trouvera plus d'informations sur ce genre de manips en anglais sur
    https://ss64.com/nt/syntax.html
    et sur
    http://www.student.northpark.edu/pemente/sed/bat_env.htm
    0