Directory() Verzeichnis mit 1,3 Mio Dateien

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von ramses »

brandelh hat geschrieben: Do, 16. Jan 2020 22:23 oh du warst das, ich hatte es Pablo unterstellt, sorry :oops:
Ist doch kein Problem. Schliesslich basiert das ganze doch auf Pablo's Arbeit und wäre ohne die gar nicht möglich. Also ist es doch irgenwie richtig.....
Ich wüsste jedenfalls ohne ot4xb nicht weiter! Vorallem ohne die API Structuren und ohne die Callbacks ......
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von brandelh »

:!: :!: :!: :!: :!: :!:
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von AUGE_OHR »

hi,
brandelh hat geschrieben: Do, 16. Jan 2020 22:23 Ich habe mir ein kleines Powerbasic Programm geschrieben, die die Dateien erstellt, allerdings dauert das ab 500.000 immer länger.
Dieses inkl. Quellcode liegt in der ZIP. Aber wie Tom meinte, das ist auch mit Xbase auf verschiedenen Wegen möglich: fCreate(), StrFile(), set alternate etc.
mir geht es um "gleiche" Test Daten denn wie soll man sonst was vergleichen.

@Tom : versuch doch mal deinen geposteten Code !
vielleicht bin ich zu Dumm um die 3 Zeilen zu verstehen aber meine CPU hat gekocht und das über 1 Std.
dann war es mir zu viel und ich hab abgebrochen, Ergebnis 19776 Dateien :shock:

also habe ich mir einen 5-Zeiler geschrieben

Code: Alles auswählen

PROCEDURE MakeFile(i,cPath,cExt)
LOCAL nHandle := FCreate( cPath+"A"+STRZERO(i,7)+cExt)
   IF nHandle <> -1
      FWrite( nHandle, ".")
      FClose( nHandle )
   ENDIF
RETURN
1.000.000 angelegt

22:33:06
178,85
22:36:05
Press any key to continue...

es werden also 1 Byte Dateien angelegt und die sollen "ge-Lesen" werden, oder :?:
BIG2_Folder.jpg
BIG2_Folder.jpg (45.78 KiB) 8772 mal betrachtet
man man unter Eigenschaften guckt dann sieht man wie Windows zählt ... das Dauer paar Sekunden.
wenn man mit TC "in" den Ordner geht dauert es auch eine ganze Zeit bis sich wieder was tut.
der Explorer zeigt sofort die 1st Seite an und dann sieht man den Progressbar. das scheint das schnellste zu sein.

---

ich habe XbpListbox() mit 1.000.000 Items versucht aber er liefert "wirre" Zahlen :shock:
hab es dann mit den knapp 20.000 aus dem Versuch mit Toms Code versucht und die zeigt er korrekt.

also dann die "Gegen-Probe" mit der DXE_ListBox() und da funktionieren 1.000.000 Items :!:
es liegt also nicht an WC_LISTBOX ... [-X

wer auf der Devcon 2016 in meiner Session war müsste die Datei : LBDIR.PRG haben.
damit hab ich den Versuch gemacht denn die Method hab ich schon lange in der DXE LIB


---


@Carlo : ich dachte du wolltest mit den Daten vorher noch was machen und deshalb Array.
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von brandelh »

Die Aufgabe besteht darin (siehe ganz vorne), alle Dateinamen im Verzeichnis zu ermitteln.
Mit diesen wird dann eine andere Datei oder in einer Datenbank etwas nachgesehen, so habe ich das verstanden.

@ Jimmy,

das ist der Quellcode des Basic Programmes, könnte man auch mit Xbase leicht nachbauen (FCreate() etc.)
Dieses Programm erzeugt am Anfang etwa 1000 Dateien pro Sekunde, späterhin wirde das deutlich langsamer.
Der Windows Exporer dreht fast eine Minute Kreise, bis er eingelesen hat und auch die Eigenschaften des Verzeichnisses dauern über 15 Sekunden.

Code: Alles auswählen

#COMPILE EXE
#DIM ALL

FUNCTION PBMAIN () AS LONG
   LOCAL i, nMaxI, nZeig AS LONG
   LOCAL cFileName AS STRING

   nMaxI = 1300000 ' 1.300.000
   nZeig =    1000 '     1.000
   cFileName = ".\Daten\Täöü_0000001.txt"
   ? "Start:    ", cFileName
   FOR i = 1 TO nMaxI
       cFileName = ".\Daten\Täöü_"+FORMAT$(i, "0000000")+".txt"
       IF NOT ISFILE(cFileName) THEN
          CreateFile( cFileName )
          IF (i < 5) OR (i >= nZeig AND i MOD nZeig = 0) THEN
             ? "Erstellt: ", cFileName
          END IF
'       ELSE
'          IF (i < 5) OR (i >= nZeig AND i MOD nZeig = 0) THEN
'             ? "schon da: ", cFileName
'          END IF
       END IF
       IF INKEY$ > "" THEN
          ? "Abbruch"
          EXIT
       END IF
   NEXT
   ? "Fertig"

END FUNCTION

SUB CreateFile( BYVAL cFileName AS STRING )
    OPEN cFileName FOR OUTPUT AS #1
    PRINT #1, "Text in Datei "+cFileName
    CLOSE #1  ' close file variable
END SUB   
Am Einfachsten dürfte die Funktion StrFile() der Tools sein,
ob schneller als dies weiß ich nicht:

Code: Alles auswählen

#include "Fileio.ch"
procedure CreateFile(cFile)
   LOCAL nH := FCreate( cFile )
   IF nH = -1
      ? "Error with creation of the file:", FError()
   ELSE
      FWrite( nH, "Text in Datei "+cFile, 16 )
      FClose( nH )
   ENDIF
RETURN
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von Herbert »

Hubert
Das liegt doch an der Verwaltung des Dateisystems.
Der Dateiordner sollte übrigens nicht die Metadaten lesen dürfen, also bei den Eigenschaften des Ordners unter "Anpassen" bei Optimieren auf "Allgemeine Eigenschaften" eingestellt sein.
Wärst eventuell schneller, wenn du jeweils Unterordner erstellst und bis zu einer gewissen Menge füllst und diese später zusammenführst.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von Tom »

Die Aufgabe, um die es hier geht, besteht aber nun wirklich nicht darin, möglichst schnell eine Million Testdateien zu erzeugen, gell? :wink:
Herzlich,
Tom
DerRolf
UDF-Programmierer
UDF-Programmierer
Beiträge: 76
Registriert: Mi, 10. Sep 2014 9:53
Hat sich bedankt: 3 Mal

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von DerRolf »

brandelh hat geschrieben: Fr, 17. Jan 2020 6:59 Die Aufgabe besteht darin (siehe ganz vorne), alle Dateinamen im Verzeichnis zu ermitteln.
Mit diesen wird dann eine andere Datei oder in einer Datenbank etwas nachgesehen, so habe ich das verstanden.
Richtig.
Am Ende jedes Dateinamens steht die Rechnungsnummer.
Diese Rechnungsnummer muss ich in anderen Textdateien suchen. (auch 1,3 Mio) Diese sind aber in Monatsverzeichnissen abegelegt, die gemittelt 110000 Dateien beinhalten. Da funktioniert auch noch das "Directory" einwandfrei.

Ich habe es mit Dir /B > datei.txt gemacht.
Danach kann ich die Datei (55MB, 1,3 Mio Einträge) mit der Fopen ganz normasl weiter verarbeiten.
Ich möchte mich noch für die Hilfe bedanken.
VG Rolf
VG Rolf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von brandelh »

Ich habe einen Fehler bei FileSeek() gefunden, sobald man das Attribut festlegt, findet er nix mehr.
Er findet auch keine Datei, bei der das Archiv-Attribut z.B. per Explorer (oder Archivierungssoftware) zurückgesetzt wird.
Denn laut Xbase ist FA_NORMAL mit 0 definiert, in der Windows-API mit 128 ... hier mal ein paar Listings:
Verzeichnisliste.png
Verzeichnisliste.png (23.47 KiB) 8668 mal betrachtet

Code: Alles auswählen

Xbase++ Xbase++ (R) Version 1.90 (1.90.355)

Start von TestDirRead 17.01.2020 14:47:06

ExePath():  D:\TEST\MaxDir\


Aktion: TesteFindFile()


Suchbegriff:  D:\TEST\MaxDir\Daten\*.*

Verzeichnis ignorieren !        FA:         16 D    .
Verzeichnis ignorieren !        FA:         16 D    ..
Verzeichnis ignorieren !        FA:         16 D    AnfangDir
Verzeichnis ignorieren !        FA:         16 D    EndeDir
Verzeichnis ignorieren !        FA:         18 DH   HiddenDir
Versteckte besser ignorieren !  FA:         34 AH   HiddenFile.txt

****** hier fehlt diese Datei (aus TesteDIR()):
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:47:10    FA:          0 N
****** richtiger Inhalt für FA_NORMAL, mit Windows API, aus TesteRamsesFindFile():
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:47:11    FA:        128 N
******

Datei:          1 Täöü_0000002.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          2 Täöü_0000003.txt gefunden ?  J Time: 14:47:08    FA:          1 R
Datei:          3 Täöü_0000004.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          4 Täöü_0000005.txt gefunden ?  J Time: 14:47:08    FA:         33 AR
Datei:          5 Täöü_0000006.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          6 Täöü_0000007.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          7 Täöü_0000008.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          8 Täöü_0000009.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          9 Täöü_0000010.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:         10 Täöü_0000011.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:       1000 Täöü_0001001.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:       2000 Täöü_0002001.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Ende des Durchlaufes, Dauer:          0,09 Sekunden, oder           0,00 Minuten, oder           0,00 Stunden

Aktion: TesteDIR() 17.01.2020 14:47:10

Temporäre Datei erstellen:  D:\TEST\MaxDir\TMP53230.txt
Start:  17.01.2020 14:47:10
RunShell() mit DIR /B:               0
Ende:   17.01.2020 14:47:10 Länge der Datei:      45776
Dauer für DIR /B :          0,03 Sekunden
Verzeichnis ignorieren !        FA:         16 D    AnfangDir
Verzeichnis ignorieren !        FA:         16 D    EndeDir
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:47:10    FA:          0 N
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:47:10    FA:          1 R
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:47:10    FA:         33 AR
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Ende des Durchlaufes, Dauer:          0,14 Sekunden, oder           0,00 Minuten, oder           0,00 Stunden

Aktion: TesteRamsesFindFile()

Suchbegriff:  D:\TEST\MaxDir\Daten\*.*

Verzeichnis ignorieren !                                           FA:         16 D    .
Verzeichnis ignorieren !                                           FA:         16 D    ..
Verzeichnis ignorieren !                                           FA:         16 D    AnfangDir
Verzeichnis ignorieren !                                           FA:         16 D    EndeDir
Verzeichnis ignorieren !                                           FA:         18 DH   HiddenDir
Versteckte besser ignorieren !                                     FA:         34 AH   HiddenFile.txt
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:47:11    FA:        128 N
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:47:11    FA:          1 R
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:47:11    FA:         33 AR
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Ende des Durchlaufes, Dauer:          0,39 Sekunden, oder           0,01 Minuten, oder           0,00 Stunden
Programmende
Unabhängig ob 1.90 oder 2.00, ich werde das mal nächste Woche an Alaska senden.
In allen Situationen muss man mit Verzeichnissen rechnen, die man aussortieren muss, auch versteckte Dateien etc.

Ohne diese "Probleme" erarbeiten alle Testroutinen das gleiche Ergebnis:

Code: Alles auswählen

Xbase++ Xbase++ (R) Version 1.90 (1.90.355)

Start von TestDirRead 17.01.2020 14:59:36

ExePath():  D:\TEST\MaxDir\


Aktion: MakeTestFiles()  17.01.2020 14:59:38

Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:59:39    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:59:39    FA:         32 A
Datei:       3000 Täöü_0003000.txt gefunden ?  J Time: 14:59:40    FA:         32 A
Datei:       4000 Täöü_0004000.txt gefunden ?  J Time: 14:59:40    FA:         32 A
Datei:       5000 Täöü_0005000.txt gefunden ?  J Time: 14:59:41    FA:         32 A
Datei:       6000 Täöü_0006000.txt gefunden ?  J Time: 14:59:41    FA:         32 A
Datei:       7000 Täöü_0007000.txt gefunden ?  J Time: 14:59:42    FA:         32 A
Datei:       8000 Täöü_0008000.txt gefunden ?  J Time: 14:59:42    FA:         32 A
Datei:       9000 Täöü_0009000.txt gefunden ?  J Time: 14:59:43    FA:         32 A
Datei:      10000 Täöü_0010000.txt gefunden ?  J Time: 14:59:44    FA:         32 A
Datei:      11000 Täöü_0011000.txt gefunden ?  J Time: 14:59:44    FA:         32 A
Datei:      12000 Täöü_0012000.txt gefunden ?  J Time: 14:59:45    FA:         32 A
Datei:      13000 Täöü_0013000.txt gefunden ?  J Time: 14:59:45    FA:         32 A
Datei:      14000 Täöü_0014000.txt gefunden ?  J Time: 14:59:46    FA:         32 A
Abbruch
Ende des Durchlaufes, Dauer:          7,51 Sekunden, oder           0,13 Minuten, oder           0,00 Stunden

Aktion: TesteFindFile()


Suchbegriff:  D:\TEST\MaxDir\Daten\*.*

Verzeichnis ignorieren !        FA:         16 D    .
Verzeichnis ignorieren !        FA:         16 D    ..
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:       3000 Täöü_0003000.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:       4000 Täöü_0004000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       5000 Täöü_0005000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       6000 Täöü_0006000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       7000 Täöü_0007000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       8000 Täöü_0008000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       9000 Täöü_0009000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      10000 Täöü_0010000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      11000 Täöü_0011000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      12000 Täöü_0012000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      13000 Täöü_0013000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      14000 Täöü_0014000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Ende des Durchlaufes, Dauer:          0,55 Sekunden, oder           0,01 Minuten, oder           0,00 Stunden

Aktion: TesteDIR() 17.01.2020 14:59:51

Temporäre Datei erstellen:  D:\TEST\MaxDir\TMP53992.txt
Start:  17.01.2020 14:59:51
RunShell() mit DIR /B:               0
Ende:   17.01.2020 14:59:51 Länge der Datei:     252360
Dauer für DIR /B :          0,11 Sekunden
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       3000 Täöü_0003000.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       4000 Täöü_0004000.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       5000 Täöü_0005000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:       6000 Täöü_0006000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:       7000 Täöü_0007000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:       8000 Täöü_0008000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:       9000 Täöü_0009000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      10000 Täöü_0010000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      11000 Täöü_0011000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      12000 Täöü_0012000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      13000 Täöü_0013000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      14000 Täöü_0014000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Ende des Durchlaufes, Dauer:          0,72 Sekunden, oder           0,01 Minuten, oder           0,00 Stunden

Aktion: TesteRamsesFindFile()

Suchbegriff:  D:\TEST\MaxDir\Daten\*.*

Verzeichnis ignorieren !                                           FA:         16 D    .
Verzeichnis ignorieren !                                           FA:         16 D    ..
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       3000 Täöü_0003000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       4000 Täöü_0004000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       5000 Täöü_0005000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       6000 Täöü_0006000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       7000 Täöü_0007000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       8000 Täöü_0008000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       9000 Täöü_0009000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      10000 Täöü_0010000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      11000 Täöü_0011000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      12000 Täöü_0012000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      13000 Täöü_0013000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      14000 Täöü_0014000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Ende des Durchlaufes, Dauer:          1,09 Sekunden, oder           0,02 Minuten, oder           0,00 Stunden
Programmende
Ich hänge mal das neue PRG im ZIP an, dieses kann nun auch die Testdaten erzeugen, mit ESC kann man das abbrechen oder gleich den MAX Wert im Quellcode ändern.

Die Zeitergebnisse für 2.000.000 Dateien kann ich nächste Woche mal durchrechnen lassen.
Dateianhänge
MaxDir-2000000files.zip
(29.07 KiB) 297-mal heruntergeladen
Gruß
Hubert
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von ramses »

ich habe einen Fehler bei FileSeek() gefunden
Hallo Hubert

das stimmt. Das ist so. Schon sehr sehr lange. Das wurde vermutlich seit Clipperzeit nie an Windows angepasst. Denn damals waren die Attribute anders:

Code: Alles auswählen

Directory Attribute Flags:

	|7|6|5|4|3|2|1|0| Directory Attribute Flags
	 | | | | | | | `--- 1 = read only
	 | | | | | | `---- 1 = hidden
	 | | | | | `----- 1 = system
	 | | | | `------ 1 = volume label  (exclusive)
	 | | | `------- 1 = subdirectory
	 | | `-------- 1 = archive
	 `----------- unused
Hast du mal versucht anstelle von FA_NORMAL mit 0x80+0x32 zu arbeiten? (Normal+Archiv)
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von brandelh »

ich hab 128 und mit 128+32 probiert ... aber egal was ich in FileSeek() angeben, kommt keine Datei mehr zurück.
Deine API Funktion ist zuverlässiger und flexibler :D
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von AUGE_OHR »

hi,

so jetzt habe ich die "ultimative" Lösung gefunden : Everything

der "holt" sich nicht "dann" die Datei Namen sondern läuft als Dienst und da frage ich nur nach dem Ordner und er gibt mir 1 Million Treffer innerhalb 1 Sec.
gruss by OHR
Jimmy
DerRolf
UDF-Programmierer
UDF-Programmierer
Beiträge: 76
Registriert: Mi, 10. Sep 2014 9:53
Hat sich bedankt: 3 Mal

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von DerRolf »

AUGE_OHR hat geschrieben: Fr, 17. Jan 2020 22:18 hi,

so jetzt habe ich die "ultimative" Lösung gefunden : Everything

der "holt" sich nicht "dann" die Datei Namen sondern läuft als Dienst und da frage ich nur nach dem Ordner und er gibt mir 1 Million Treffer innerhalb 1 Sec.
Habe ich jetzt nicht verstanden...
VG Rolf
DerRolf
UDF-Programmierer
UDF-Programmierer
Beiträge: 76
Registriert: Mi, 10. Sep 2014 9:53
Hat sich bedankt: 3 Mal

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von DerRolf »

brandelh hat geschrieben: Fr, 17. Jan 2020 15:13 Ich habe einen Fehler bei FileSeek() gefunden, sobald man das Attribut festlegt, findet er nix mehr.
Er findet auch keine Datei, bei der das Archiv-Attribut z.B. per Explorer (oder Archivierungssoftware) zurückgesetzt wird.
Denn laut Xbase ist FA_NORMAL mit 0 definiert, in der Windows-API mit 128 ... hier mal ein paar Listings:

Verzeichnisliste.png

Code: Alles auswählen

Xbase++ Xbase++ (R) Version 1.90 (1.90.355)

Start von TestDirRead 17.01.2020 14:47:06

ExePath():  D:\TEST\MaxDir\


Aktion: TesteFindFile()


Suchbegriff:  D:\TEST\MaxDir\Daten\*.*

Verzeichnis ignorieren !        FA:         16 D    .
Verzeichnis ignorieren !        FA:         16 D    ..
Verzeichnis ignorieren !        FA:         16 D    AnfangDir
Verzeichnis ignorieren !        FA:         16 D    EndeDir
Verzeichnis ignorieren !        FA:         18 DH   HiddenDir
Versteckte besser ignorieren !  FA:         34 AH   HiddenFile.txt

****** hier fehlt diese Datei (aus TesteDIR()):
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:47:10    FA:          0 N
****** richtiger Inhalt für FA_NORMAL, mit Windows API, aus TesteRamsesFindFile():
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:47:11    FA:        128 N
******

Datei:          1 Täöü_0000002.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          2 Täöü_0000003.txt gefunden ?  J Time: 14:47:08    FA:          1 R
Datei:          3 Täöü_0000004.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          4 Täöü_0000005.txt gefunden ?  J Time: 14:47:08    FA:         33 AR
Datei:          5 Täöü_0000006.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          6 Täöü_0000007.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          7 Täöü_0000008.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          8 Täöü_0000009.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:          9 Täöü_0000010.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:         10 Täöü_0000011.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:       1000 Täöü_0001001.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Datei:       2000 Täöü_0002001.txt gefunden ?  J Time: 14:47:08    FA:         32 A
Ende des Durchlaufes, Dauer:          0,09 Sekunden, oder           0,00 Minuten, oder           0,00 Stunden

Aktion: TesteDIR() 17.01.2020 14:47:10

Temporäre Datei erstellen:  D:\TEST\MaxDir\TMP53230.txt
Start:  17.01.2020 14:47:10
RunShell() mit DIR /B:               0
Ende:   17.01.2020 14:47:10 Länge der Datei:      45776
Dauer für DIR /B :          0,03 Sekunden
Verzeichnis ignorieren !        FA:         16 D    AnfangDir
Verzeichnis ignorieren !        FA:         16 D    EndeDir
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:47:10    FA:          0 N
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:47:10    FA:          1 R
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:47:10    FA:         33 AR
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:47:10    FA:         32 A
Ende des Durchlaufes, Dauer:          0,14 Sekunden, oder           0,00 Minuten, oder           0,00 Stunden

Aktion: TesteRamsesFindFile()

Suchbegriff:  D:\TEST\MaxDir\Daten\*.*

Verzeichnis ignorieren !                                           FA:         16 D    .
Verzeichnis ignorieren !                                           FA:         16 D    ..
Verzeichnis ignorieren !                                           FA:         16 D    AnfangDir
Verzeichnis ignorieren !                                           FA:         16 D    EndeDir
Verzeichnis ignorieren !                                           FA:         18 DH   HiddenDir
Versteckte besser ignorieren !                                     FA:         34 AH   HiddenFile.txt
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:47:11    FA:        128 N
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:47:11    FA:          1 R
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:47:11    FA:         33 AR
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:47:11    FA:         32 A
Ende des Durchlaufes, Dauer:          0,39 Sekunden, oder           0,01 Minuten, oder           0,00 Stunden
Programmende
Unabhängig ob 1.90 oder 2.00, ich werde das mal nächste Woche an Alaska senden.
In allen Situationen muss man mit Verzeichnissen rechnen, die man aussortieren muss, auch versteckte Dateien etc.

Ohne diese "Probleme" erarbeiten alle Testroutinen das gleiche Ergebnis:

Code: Alles auswählen

Xbase++ Xbase++ (R) Version 1.90 (1.90.355)

Start von TestDirRead 17.01.2020 14:59:36

ExePath():  D:\TEST\MaxDir\


Aktion: MakeTestFiles()  17.01.2020 14:59:38

Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:59:38    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:59:39    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:59:39    FA:         32 A
Datei:       3000 Täöü_0003000.txt gefunden ?  J Time: 14:59:40    FA:         32 A
Datei:       4000 Täöü_0004000.txt gefunden ?  J Time: 14:59:40    FA:         32 A
Datei:       5000 Täöü_0005000.txt gefunden ?  J Time: 14:59:41    FA:         32 A
Datei:       6000 Täöü_0006000.txt gefunden ?  J Time: 14:59:41    FA:         32 A
Datei:       7000 Täöü_0007000.txt gefunden ?  J Time: 14:59:42    FA:         32 A
Datei:       8000 Täöü_0008000.txt gefunden ?  J Time: 14:59:42    FA:         32 A
Datei:       9000 Täöü_0009000.txt gefunden ?  J Time: 14:59:43    FA:         32 A
Datei:      10000 Täöü_0010000.txt gefunden ?  J Time: 14:59:44    FA:         32 A
Datei:      11000 Täöü_0011000.txt gefunden ?  J Time: 14:59:44    FA:         32 A
Datei:      12000 Täöü_0012000.txt gefunden ?  J Time: 14:59:45    FA:         32 A
Datei:      13000 Täöü_0013000.txt gefunden ?  J Time: 14:59:45    FA:         32 A
Datei:      14000 Täöü_0014000.txt gefunden ?  J Time: 14:59:46    FA:         32 A
Abbruch
Ende des Durchlaufes, Dauer:          7,51 Sekunden, oder           0,13 Minuten, oder           0,00 Stunden

Aktion: TesteFindFile()


Suchbegriff:  D:\TEST\MaxDir\Daten\*.*

Verzeichnis ignorieren !        FA:         16 D    .
Verzeichnis ignorieren !        FA:         16 D    ..
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:       3000 Täöü_0003000.txt gefunden ?  J Time: 14:59:49    FA:         32 A
Datei:       4000 Täöü_0004000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       5000 Täöü_0005000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       6000 Täöü_0006000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       7000 Täöü_0007000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       8000 Täöü_0008000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:       9000 Täöü_0009000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      10000 Täöü_0010000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      11000 Täöü_0011000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      12000 Täöü_0012000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      13000 Täöü_0013000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Datei:      14000 Täöü_0014000.txt gefunden ?  J Time: 14:59:50    FA:         32 A
Ende des Durchlaufes, Dauer:          0,55 Sekunden, oder           0,01 Minuten, oder           0,00 Stunden

Aktion: TesteDIR() 17.01.2020 14:59:51

Temporäre Datei erstellen:  D:\TEST\MaxDir\TMP53992.txt
Start:  17.01.2020 14:59:51
RunShell() mit DIR /B:               0
Ende:   17.01.2020 14:59:51 Länge der Datei:     252360
Dauer für DIR /B :          0,11 Sekunden
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       3000 Täöü_0003000.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       4000 Täöü_0004000.txt gefunden ?  J Time: 14:59:51    FA:         32 A
Datei:       5000 Täöü_0005000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:       6000 Täöü_0006000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:       7000 Täöü_0007000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:       8000 Täöü_0008000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:       9000 Täöü_0009000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      10000 Täöü_0010000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      11000 Täöü_0011000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      12000 Täöü_0012000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      13000 Täöü_0013000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Datei:      14000 Täöü_0014000.txt gefunden ?  J Time: 14:59:52    FA:         32 A
Ende des Durchlaufes, Dauer:          0,72 Sekunden, oder           0,01 Minuten, oder           0,00 Stunden

Aktion: TesteRamsesFindFile()

Suchbegriff:  D:\TEST\MaxDir\Daten\*.*

Verzeichnis ignorieren !                                           FA:         16 D    .
Verzeichnis ignorieren !                                           FA:         16 D    ..
Datei:          1 Täöü_0000001.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          2 Täöü_0000002.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          3 Täöü_0000003.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          4 Täöü_0000004.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          5 Täöü_0000005.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          6 Täöü_0000006.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          7 Täöü_0000007.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          8 Täöü_0000008.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:          9 Täöü_0000009.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:         10 Täöü_0000010.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       1000 Täöü_0001000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       2000 Täöü_0002000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       3000 Täöü_0003000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       4000 Täöü_0004000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       5000 Täöü_0005000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       6000 Täöü_0006000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       7000 Täöü_0007000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       8000 Täöü_0008000.txt gefunden ?  J Time: 14:59:53    FA:         32 A
Datei:       9000 Täöü_0009000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      10000 Täöü_0010000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      11000 Täöü_0011000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      12000 Täöü_0012000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      13000 Täöü_0013000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Datei:      14000 Täöü_0014000.txt gefunden ?  J Time: 14:59:54    FA:         32 A
Ende des Durchlaufes, Dauer:          1,09 Sekunden, oder           0,02 Minuten, oder           0,00 Stunden
Programmende
Ich hänge mal das neue PRG im ZIP an, dieses kann nun auch die Testdaten erzeugen, mit ESC kann man das abbrechen oder gleich den MAX Wert im Quellcode ändern.

Die Zeitergebnisse für 2.000.000 Dateien kann ich nächste Woche mal durchrechnen lassen.
Vielen lieben Dank Hubert. Und natürlich an alle, die sich beteiligt haben. =D>
VG Rolf
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Directory() Verzeichnis mit 1,3 Mio Dateien

Beitrag von AUGE_OHR »

DerRolf hat geschrieben: Mo, 20. Jan 2020 13:56
AUGE_OHR hat geschrieben: Fr, 17. Jan 2020 22:18 so jetzt habe ich die "ultimative" Lösung gefunden : Everything
Habe ich jetzt nicht verstanden...
Everything ist ein 3-PP Produkt was ich bei Total Commander kennen gelernt habe.
https://www.voidtools.com/

es läuft als Dienst und überwacht das "File-System" und pflegt eine eigene Datenbank.
damit "hat" Everything alle Informationen und wie bei einem "Seek" dauert es < 1 Sec. für ein Ergebnis

wie man es unter Xbase++ nutzt hab ich in einen Demo gezeigt. such mal im Forum danach wenn es dich interessiert.
gruss by OHR
Jimmy
Antworten