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 :

Info taille fichier [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2016
    Messages : 63
    Par défaut Info taille fichier
    Bonjour,
    Je récupère la taille d’un fichier Test.txt avec ce code :
    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @ECHO OFF
    SET Chemin=C:\TEMP\
    SET Fichier=Test.txt
    FOR /R %Chemin% %%i IN (%Fichier%) DO SET /A Taille=%%~zi
    ECHO %Taille%
    Cela fonctionne mais lorsqu’un dossier est présent dans le même répertoire que le fichier test.txt alors il y a un message qui apparaît dans la console « Il manque un opérande ».
    Il y a-t-il une solution pour ne pas avoir ce message ?
    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Bonjour,

    Tu as un message d'erreur car tu utilises SET /A au lieu d'utiliser SET.

    SET /A s'utilise uniquement si tu fais des calculs arithmétiques.

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2016
    Messages : 63
    Par défaut
    Bonjour,

    Non le problème de vient pas de là, cela marche avec ou sans /P puisque c'est bien une valeur que l'on récupère.

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Je le répète encore une fois : si tu ne fais pas une opération arithmétique (addition, soustraction, division, multiplication, ...) tu n'as pas besoin d'utiliser SET /A
    C'est cette mauvaise utilisation qui provoque le message « Il manque un opérande »

    Tu peux masquer l'erreur en la redirigeant vers nul comme ceci : SET /A Taille=%%~zi 2>nul
    Mais ce n'est pas très propre, autant utiliser SET correctement et éviter les messages d'erreur.

    Ta boucle FOR n'est pas correcte, si tu utilises FOR /R tu dois indiquer un ensemble de fichier, pas un fichier unique.

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2016
    Messages : 63
    Par défaut
    Factuellement, lorsque je fais le test :

    Sans répertoire dans "C:\TEMP\" alors aucune différence avec ou sans "/A". Il n'y a pas de message et la valeur de taille du fichier est bien indiquée.

    Avec un répertoire (même vide) dans "C:\TEMP\" et SANS le "/A" : il n'y a pas message (ça c'est bien !) MAIS il n'y a pas de valeur de taille du fichier indiquée (ça c'est moins bien !).
    Avec un répertoire (même vide) dans "C:\TEMP\" et AVEC le "/A" : il y a message mais la valeur de taille du fichier est bien indiquée.

    Effectivement, en écrivant "SET /A Taille=%%~zi 2>nul" ça résout le problème.

  6. #6
    Membre émérite
    Homme Profil pro
    Développeur .NET en devenir
    Inscrit en
    Août 2017
    Messages
    549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET en devenir
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 549
    Par défaut
    Tu obtiens des résultats bizarres (qui t'induisent en erreur) car tu ne t'y prends pas de la bonne manière (voir mes commentaires sur FOR /R et SET /A)

    Je ne prétends pas détenir la vérité absolue, il y a peut-être d'autres solutions, mais voilà comment moi je ferais :

    Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @echo off
    setlocal enableextensions enabledelayedexpansion
     
    SET Chemin=C:\TEMP\
    SET Fichier=Test.txt
     
    FOR /F %%A IN ('dir /s /b %Chemin%%Fichier%') DO (
     
    SET Taille=%%~zA
    ECHO !Taille!
     
    )
     
    pause

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

Discussions similaires

  1. [info] compresser fichier...?
    Par doudine dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 06/01/2005, 13h53
  2. Limiter taille fichier joint à un mail
    Par fdthierry dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 27/08/2004, 12h12
  3. [URL] taille fichier
    Par hocinema dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 09/07/2004, 16h03
  4. [WinAPI] Infos extensions fichiers
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/06/2004, 13h36
  5. Réponses: 3
    Dernier message: 25/07/2002, 10h42

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