|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
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. |
|
|
00
|
|
|
#2 | |
|
Membre expérimenté
![]() Vincent Consultant en technologies Inscription : avril 2010 Messages : 383 ![]() |
Citation:
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 |
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
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. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
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. |
|
|
00
|
|
|
#5 | |
|
Membre expérimenté
![]() Vincent Consultant en technologies Inscription : avril 2010 Messages : 383 ![]() |
Citation:
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 |
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
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.
|
|
|
00
|
|
|
#7 | |
|
Membre expérimenté
![]() Vincent Consultant en technologies Inscription : avril 2010 Messages : 383 ![]() |
Citation:
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 |
|
|
|
00
|
|
|
#8 | |
|
Invité de passage
![]() Inscription : février 2011 Messages : 5 ![]() |
Citation:
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.... |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com