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

Windows Serveur Discussion :

Script batch trouver tous les fichiers de plus de X taille


Sujet :

Windows Serveur

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Script batch trouver tous les fichiers de plus de X taille
    Bonjour, venant du monde linux, cette tache m'aurait pris juste une ligne. Mais sous windows j'arrive pas à savoir comment faire.

    L'objectif à atteindre est de parcourir le systeme et d'afficher (rediriger vers un fichier dans les meilleurs des cas pouquoi pas un .xls) tous les fichiers de plus de 2 Go.

    Merci par avance car je sèche.

  2. #2
    Membre éclairé Avatar de suchiwa
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2010
    Messages
    435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2010
    Messages : 435
    Points : 899
    Points
    899
    Par défaut
    Citation Envoyé par quietman Voir le message
    Bonjour, venant du monde linux, cette tache m'aurait pris juste une ligne. Mais sous windows j'arrive pas à savoir comment faire.

    L'objectif à atteindre est de parcourir le systeme et d'afficher (rediriger vers un fichier dans les meilleurs des cas pouquoi pas un .xls) tous les fichiers de plus de 2 Go.

    Merci par avance car je sèche.
    Bonjour,

    Sous quel système Windows es-tu ?
    Sais tu si powershell est installé sur ton OS ?

    Car avec powershell, les commandes types Unix reviennent en force :

    Taper "powershell" dans démarrer\run
    Powershell s'ouvre comme un CMD, à la différence d'un "PS" devant (et le titre de la fenètre...)

    PS c:\ > ls -recurse | where {$_.length -gt 2GB}

    Te donne tous les fichiers de plus de 2GB sur le C:\

    je ne te présente pas ls...
    -recurse recherche dans toute l'arborescence (attention à un ls c:\ * -recurse qui plombe le système...)
    "|" pipe les données d'entrées
    "where" ou "?" ou "where-object" est un filtre
    $_ représente "toutes les variables possibles"
    .length spécifie la propriété "taille" de la variable
    -gt 2GB = greater than 2 Giga Bytes (peut être KB, MB, GB,TB...)

    La plupart des commandes Unix sont présentes, ensuite la création d'un alias est peut être nécessaire (ls existe car alias de dir...)

    Pour mettre ton résultat dans un fichier texte.

    PS c:\ > ls -recurse | where {$_.length -gt 2GB} | out-file C:\fichier.txt

    "out-file" et ">" sont identiques

    Est ce que ça répond à ta question?

    Vincent

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci @suchiwa de me repondre si rapidement.
    Si j'avais Powershell d'installé oui ! mais ce n'est pas le cas. Il faut me donc batch. J'avoue que c'est loin d'un petit find / -type f -size +2G ........

    Apparemment j'aurais plus de ligne à taper et franchement je n'ai pas ce qu'il faut. c'est carrément opposé comme logique de script.

    Voilà donc si tu as un batch je suis preneur.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oup's ! Je me reprend, j'ai donc installé Powershell, c'est vrai que ça change un peu tout. Là j'ai lancé ta commande, et j'attends toujours un resultat. ça à l'air de prendre son temps. ça vaut pas un find sous linux mais dejà que le code tiens sur une ligne c'est beaucoup.

    Je te fais retour dès que la commande me fait un retour.

    Et encore merci.

  5. #5
    Membre éclairé Avatar de suchiwa
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2010
    Messages
    435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2010
    Messages : 435
    Points : 899
    Points
    899
    Par défaut
    Citation Envoyé par quietman Voir le message
    Oup's ! Je me reprend, j'ai donc installé Powershell, c'est vrai que ça change un peu tout. Là j'ai lancé ta commande, et j'attends toujours un resultat. ça à l'air de prendre son temps. ça vaut pas un find sous linux mais dejà que le code tiens sur une ligne c'est beaucoup.

    Je te fais retour dès que la commande me fait un retour.

    Et encore merci.
    Bonjour Quietman,

    Si le curseur revient à la ligne, le résultat s'inscrit dans le fichier que tu as défini. Si tu l'as exécuté dans le C:\ alors le fichier est à la racine.

    Vincent

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par suchiwa Voir le message
    Bonjour Quietman,

    Si le curseur revient à la ligne, le résultat s'inscrit dans le fichier que tu as défini. Si tu l'as exécuté dans le C:\ alors le fichier est à la racine.

    Vincent
    Oui ! quel parametre definir pour que je test sur les repertoires, genre find c:\ -type d -size +2G ...... et aussi faire un tail -f sur le fichier en sortie pour voir l'evolution... parceque tant que powersell utilise le fichier je ne peux pas l'ouvrir.

  7. #7
    Membre éclairé Avatar de suchiwa
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2010
    Messages
    435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2010
    Messages : 435
    Points : 899
    Points
    899
    Par défaut
    Citation Envoyé par quietman Voir le message
    Oui ! quel parametre definir pour que je test sur les repertoires, genre find c:\ -type d -size +2G
    Quietman,

    La commande FIND

    PS C:\Documents and Settings\Admin> find /?
    Searches for a text string in a file or files.

    FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

    /V Displays all lines NOT containing the specified string.
    /C Displays only the count of lines containing the string.
    /N Displays line numbers with the displayed lines.
    /I Ignores the case of characters when searching for the string.
    /OFF[LINE] Do not skip files with offline attribute set.
    "string" Specifies the text string to find.
    [drive:][path]filename
    Specifies a file or files to search.

    If a path is not specified, FIND searches the text typed at the prompt
    or piped from another command.

    Ensuite, pour trouver un fichier de 2GB je te l'ai donné dans le premier message:

    ls -recurse | where {$_.length -gt 2GB}

    J'imagine que je n'interprète pas correctement ta question...

    Si ça mouline, c'est qu'il y a un problème, ça va dépendre aussi de ton architecture (tes fichiers sont ils sur un SAN ou en local ?)
    Test sans le "recurse" dans un répertoire qui contient bien un fichier de 2GB.

    Vincent

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par suchiwa Voir le message
    Quietman,

    J'imagine que je n'interprète pas correctement ta question...

    Si ça mouline, c'est qu'il y a un problème, ça va dépendre aussi de ton architecture (tes fichiers sont ils sur un SAN ou en local ?)
    Test sans le "recurse" dans un répertoire qui contient bien un fichier de 2GB.

    Vincent
    Tu m'as dejà largement mis sur la bonne voie. c'est à la fois en local et sur SAN.

    C'est quand même regrettable qu'on ne puisse pas definir qu'on cherche a quantifier un répertoire (fichiers + dossiers contenu) car le -recurse s'il n'est pas mis il zappera tous les sous dossiers du répertoire.

    Voilà j'en suis là.

    En tout cas merci de m'avoir aider....

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/08/2011, 18h01
  2. Réponses: 0
    Dernier message: 06/11/2010, 22h11
  3. Script Shell : lister tous les fichiers d'un répertoire et sous rép
    Par raton_laveur dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 22/01/2009, 17h43
  4. Réponses: 0
    Dernier message: 03/06/2008, 12h44
  5. Réponses: 3
    Dernier message: 04/02/2006, 00h31

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