Précédent   Forum des professionnels en informatique > Systèmes > Windows > Windows Serveur
Windows Serveur Forum d'entraide professionel pour Windows Serveur : NT, 2000, 2003 , Longhorn...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/02/2011, 13h24   #1
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
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.
quietman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 14h34   #2
Membre expérimenté
 
Avatar de suchiwa
 
Homme Vincent
Consultant en technologies
Inscription : avril 2010
Messages : 383
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 32
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en technologies
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : avril 2010
Messages : 383
Points : 536
Points : 536
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
__________________
Dans le doute, reboot...

https://mcp.microsoft.com/authenticate/validatemcp.aspx
931584 | Micr0s0ft
suchiwa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 14h47   #3
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
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.
quietman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 15h15   #4
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
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.
quietman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 15h40   #5
Membre expérimenté
 
Avatar de suchiwa
 
Homme Vincent
Consultant en technologies
Inscription : avril 2010
Messages : 383
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 32
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en technologies
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : avril 2010
Messages : 383
Points : 536
Points : 536
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
__________________
Dans le doute, reboot...

https://mcp.microsoft.com/authenticate/validatemcp.aspx
931584 | Micr0s0ft
suchiwa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 15h48   #6
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
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.
quietman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2011, 17h27   #7
Membre expérimenté
 
Avatar de suchiwa
 
Homme Vincent
Consultant en technologies
Inscription : avril 2010
Messages : 383
Détails du profil
Informations personnelles :
Nom : Homme Vincent
Âge : 32
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en technologies
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : avril 2010
Messages : 383
Points : 536
Points : 536
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
__________________
Dans le doute, reboot...

https://mcp.microsoft.com/authenticate/validatemcp.aspx
931584 | Micr0s0ft
suchiwa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 08h59   #8
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
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....
quietman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h32.


 
 
 
 
Partenaires

Hébergement Web