[DOS] zoeken op bestands formaat

Pagina: 1
Acties:

  • whocarez
  • Registratie: Januari 2002
  • Laatst online: 08-06-2025
Nou kan je via dos heel makkelijk een dump maken van je schijf, waar dus alle bestanden staan enz enz.
Echter nou ben ik aan het kloten geweest om aan te geven dat hij pas vanaf een bepaalde grote moet weer geven.

met: dir *.doc /s > tekst.txt maakt hij een mooie txt filetje aan waarin al me word documenten staan.
Met de laatste wijzigings datum de plaats en de grote.

Maar hou kan ik nu aangeven dat hij netjes alles groter dan een mb filtert dus 1.024.000 k?

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
> WOS

  • the_shadow
  • Registratie: Januari 2003
  • Laatst online: 22-01 11:27

the_shadow

Bubbelmaker extraordinair

Dit is bij mijn weten niet standaard mogelijk met het dir commando. Er zijn wel programma's die de dir functionaliteit over nemen en uitbreiden, zoals d. Misschien de moeite waard om te bekijken? :)

I'd rather be diving | The best thing about alcohol hand gel in hospitals isn't the hygiene, but that everyone walks around like they're hatching a dastardly plan. | "Cheese is just milk’s attempt at being immortal."


  • DoDo
  • Registratie: Juli 2001
  • Laatst online: 17:37
Kan volgens mij niet, wat je wel kan doen is sorteren op groote en dan alles handmatig verwijderen.

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

DOS of de Windows NTx commandline? Inderdaad kan het standaard niet onder DOS en ook d (dat ik niet kende, ziet er leuk uit :) ) doet niets onder DOS. Als NTx kan je ook een eigen WSH script schrijven, maar d ziet er uit als precies wat je zoekt.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 15:57

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

Je zult moeten gaan stoeien met een FOR lus:

code:
1
FOR /F "tokens=3,5" %%A in ('dir /-c') do IF %%A GEQ 1024 echo %%B

Bovenstaande regelt voert het commande "dir /-c" uit en controleert of de uitkomst van de derde kolom (bestandsgrootte) groter of gelijk is aan 1024. Is dit waar, dan wordt de waarde van kolom 5 (bestandsnaam) middels een ECHO op het scherm getoond.

Het kan zijn dat je nog eea aan moet passen (ligt ook aan de DOS versie die je gebruikt). Ik heb bovenstaand getest met de cmd-versie van XP. Geen echt DOS dus....

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • Krypt
  • Registratie: April 2000
  • Laatst online: 12-02 20:18
Daar moet je mee oppassen.. Als de output van de dir te groot wordt, wil die nog wel eens over de zeik gaan. Daarbij krijg ik bij jou scriptje wel een erg rare ouput; hij verslikt zich als er directories in staan.

Beter is om gewoon de FOR statement voor het geheel van zoeken te gebruiken.
code:
1
For /r C:\ %%x in (*.Doc) do If %%~zx GTR 1048576 echo %%x


De 'C:\' is de start directory en die doorloopt ie recursief. De '1048576' is de 1MB in bytes uitgedrukt. %%~zx heeft als inhoud de filesize in bytes.

Wil je een echte output met datum en tijd ed dan kun je in de echo statement nog wat extra's toevoegen.
In addition, substitution of FOR variable references has been enhanced.
You can now use the following optional syntax:

%~I - expands %I removing any surrounding quotes (")
%~fI - expands %I to a fully qualified path name
%~dI - expands %I to a drive letter only
%~pI - expands %I to a path only
%~nI - expands %I to a file name only
%~xI - expands %I to a file extension only
%~sI - expanded path contains short names only
%~aI - expands %I to file attributes of file
%~tI - expands %I to date/time of file
%~zI - expands %I to size of file
%~$PATH:I - searches the directories listed in the PATH
environment variable and expands %I to the
fully qualified name of the first one found.
If the environment variable name is not
defined or the file is not found by the
search, then this modifier expands to the
empty string
Even een quote uit de help van de for. In dit voorbeeld is I de variable, in het voorbeeldje van mij is x de variable.

Je kan het ook combineren dus. %%~zx is voor de size, %%~tx is de datum/tijd. %%~ztx geeft size en datum en tijd.

[ Voor 59% gewijzigd door Krypt op 27-10-2005 15:11 ]

Pvouput live


  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 15:57

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

@Krypt:
Nice! _/-\o_
Kende zelf de For /R optie niet... Is inderdaad netter om het op deze manier op te pakken....

Overigens werkt mijn voorbeeld bij mij wel, maar ik heb getest met een kleine dir zonder subdirs. De volgorde van kolommen in een dir-output kan volgens mij per DOS- en taal-versie ook nog wel eens verschillen, waardoor eea verziekt wordt.

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • whocarez
  • Registratie: Januari 2002
  • Laatst online: 08-06-2025
Hmm eens kijke of dat gaat lukken gaat namelijk op een san kijke naar jpg groter dan 1mb beetje wildgroei dus dat willen we inperken.

Kijke of dit werkt is geen probleem om een 500gb te doorzoeken?

  • Nitroglycerine
  • Registratie: Januari 2002
  • Laatst online: 17:32

Nitroglycerine

Autisme: belemmering en kracht

Je kunt ook treesize gebruiken om per directory het schijfgebruik in beeld te krijgen.

Hier kon uw advertentie staan


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

10 bestanden van 50GB per stuk doorzoeken wat sneller dan 500GB aan bestandjes van een kilobyte per stuk dus dat durf ik iig. niet te zeggen. Maar hoe dan ook wil je dat niet tijdens kantooruren doen als je zelf twijfelt :+

Maar een ctrl-c is natuurlijk zo gegeven.

Je heb trouwens nog geen antwoord gegeven op mijn vraag.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Krypt
  • Registratie: April 2000
  • Laatst online: 12-02 20:18
Die 500GB is een netwerkshare neem ik aan? Zal niet zo'n probleem moeten zijn; heb het net over onze server heen gegooid opzoek naar alle .EXE files die groter dan een MB zijn. Netwerk schommelt rond de 3 a 4 procent. Extra server activiteit is amper te vinden (de schijven knetteren al genoeg :D)

Als het een locale schijf is, dan is er helemaal niets aan de hand. (En inderdaad; zoals F_J_K al aangeeft werkt dit alleen in een NTx command shell)

[ Voor 11% gewijzigd door Krypt op 27-10-2005 15:26 ]

Pvouput live

Pagina: 1