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 :

[DOS]Taille d'un fichier dans une variable


Sujet :

Scripts/Batch

  1. #1
    Membre averti Avatar de liquideshark
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2006
    Messages : 347
    Points : 325
    Points
    325
    Par défaut [DOS]Taille d'un fichier dans une variable
    Bonsoir,

    J'ai un serieux probleme avec une commande dos : avoir la taille d'un fichier .
    J'aimerais stocker la taille d'un fichier donné dans une variable dos comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set taille = [comand] c:\test.doc 
    
    echo %taille%
    j'ai essayé plein de truc sur internet c'est

    Merci pour votre aide

  2. #2
    Membre averti Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Points : 306
    Points
    306
    Par défaut
    Bonsoir,

    Il va falloir passer par "FOR" pour récupérer la taille avec un "DIR"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "tokens=3 delims= " %i in ('dir CheminDuDossier /a:-d ^| find /i "NomDuFichier"') do set file_size=%i
    (taille exprimée en octets)

    Enjoy

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 840
    Points : 9 225
    Points
    9 225
    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
    @echo off
    color 9B & mode con lines=15 cols=55
    set File="c:\test.doc"
    set MaxSize=1000
    
    FOR /F "usebackq" %%A IN ('%File%') DO set size=%%~zA
    
    if %size% LSS %MaxSize% (
        echo.& echo %File% a pour Taille %size% Octets & echo. 
        echo %File% a une Taille ^< %MaxSize% Octets & echo.
    ) ELSE (
        echo.& echo %File% a pour Taille %size% Octets & echo.
        echo %File% a une Taille ^>= %MaxSize% Octets & echo.
    )
    pause

  4. #4
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    salut,

    tu peux aussi utiliser les modificateurs de paramètres:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    set fichier=c:\bookmarks.html
    
    %1 %0 :: %fichier%
    set taille=%~z2
    
    echo %taille% 
    pause

  5. #5
    Membre averti Avatar de liquideshark
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2006
    Messages : 347
    Points : 325
    Points
    325
    Par défaut
    Merci infiniment pour vos reponses c'est cool. J'ai une petite qestion sur le script d'I'm_HERE. J'aimerais comprendre les 2 lignes en gras . Merci encore

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

    tu peux aussi utiliser les modificateurs de paramètres:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    set fichier=c:\bookmarks.html
    
    %1 %0 :: %fichier%
    set taille=%~z2
    
    echo %taille% 
    pause

  6. #6
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par liquideshark Voir le message
    J'aimerais comprendre les 2 lignes en gras . Merci encore
    salut,
    on va essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    %0 --> dans notre cas notre script
    %1 --> le premier paramètre "$1"
    grossomodo on appelle notre script %0 en lui envoyant deux paramètres %1 (:: = caractère de commantaire en scripting de commandes NT) et %2 (%fichier% = le nom du fichier à traiter)
    la ligne %1 %0 :: %fichier% va s'executer en deux étapes la première va injecter la valeur %fichier% au deuxième paramètre %2 et la deuxième va commenter notre ligne pour éviter une boucle infinie et passer à la ligne suivante, ensuite on a qu'a utiliser le modificateur ~z (=taille de fichier) dans notre paramètre %2 (%~z2) et l'attribuer à la variable %taille%

  7. #7
    Membre averti Avatar de liquideshark
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2006
    Messages : 347
    Points : 325
    Points
    325
    Par défaut
    mille merci IAM

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

Discussions similaires

  1. [FTP] Récupération d'un fichier dans une variable
    Par leeloo1902 dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2007, 20h31
  2. lancer wget et récuperer le fichier dans une variable
    Par luc-b dans le forum Général Python
    Réponses: 8
    Dernier message: 10/05/2006, 10h47
  3. Shell: récupérer le bon nom de fichier dans une variable
    Par claralavraie dans le forum Linux
    Réponses: 1
    Dernier message: 10/01/2006, 11h45
  4. [DOS] Boucle FOR : récupérer %%i dans une variable
    Par Pomalaix dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 06/12/2005, 16h18
  5. Récupérer contenu de fichier dans une variable
    Par peppena dans le forum Linux
    Réponses: 4
    Dernier message: 15/06/2005, 12h50

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