Am un folder shareuit pe reteaua locala , intr-o litera mapata (X:) , unde am un numar mare de subfoldere (cca 1100) , fiecare avand cca 100 de fisiere
Ex:
X:\folder_radacina\folder_1-1100\fisier1-100
Scriptul trebuie sa verifice existenta unui singur fisier (acelasi ca denumire) in toate aceste subfoldere si sa execute o comanda in functie de raspuns (exista sau nu exista)..
Dureaza foarte mult operatia , cca 1 minut si nu gasesc varianta mai rapida...
am incercat cu file() , dar dureaza mult...
aveti vreo varianta mai rapida de interogare (testata) ?
Probleme performante VFP
Forum rules
:: limbajul folosit in acest forum va fi unul civilizat, in limita subiectelor din topicurile deschise.
:: orice manifestare necivilizata (agresiune verbala, comportament neadecvat, reclama abuziva fara legatura cu forumul) va duce la stergerea contului de user.
:: pt. inscriere USER NOU la acest FORUM, folositi linkul https://profox.ro/forum-register/
:: limbajul folosit in acest forum va fi unul civilizat, in limita subiectelor din topicurile deschise.
:: orice manifestare necivilizata (agresiune verbala, comportament neadecvat, reclama abuziva fara legatura cu forumul) va duce la stergerea contului de user.
:: pt. inscriere USER NOU la acest FORUM, folositi linkul https://profox.ro/forum-register/
Re: Probleme performante VFP
folosesc secventa de mai jos si momentan ma multumeste
poate te ajuta
acum mi-am adus aminte, comanda mea intoarce doar fisierele din directorul specificat
din cite imi aduc aminte se poate folosi si /s pentru a cauta si in subdirectori dar nu sint sigur
poate te ajuta
Code: Select all
cLstXml=cDirXml+'*.xml'
RUN /7 dir &cLstXml /b > C:\Temp\FileXml.txt
IF !FILE('C:\Temp\FileXml.txt')
?? CHR(7)
WAIT ' Nu s-a creat fisierul [C:\Temp\FileXml.txt] ! ' WINDOW NOWAIT
RETURN
ENDIF
CREATE CURSOR qTmp (fisier C(200))
APPEND FROM C:\Temp\FileXml.txt TYPE SDF
GO TOP IN qTmp
din cite imi aduc aminte se poate folosi si /s pentru a cauta si in subdirectori dar nu sint sigur
Re: Probleme performante VFP
Incearca si cu ADIR() ... ar face cam acelasi lucru.
Nu am testaT in bucle mari, dar pare rapid.
Nu am testaT in bucle mari, dar pare rapid.
Re: Probleme performante VFP
am incercat... cam la fel durata
.. pare ca e o limitare de reactie a windowsului datorita numarului mare de foldere interogate prin file sharing
Acelasi script dureaza o fractiune de secunda cand este lansat local , nu prin file sharing 



Re: Probleme performante VFP
Dc doar aplicatia scrie in acel folder poti face o tabela care contine caile/denumirile fisierelor resective si in loc sa cauti in foldere cauti in tabela caruia ii faci si un index,cand scrii/stergi in foldere o faci si in tabela
Re: Probleme performante VFP
scriptic este usor sa memorez existenta acelui fisier in toate folderele , dar in foldere opereaza alte softuri care administreaza acele fisiere... nu sunt ale mele
... inainte de a aplica scripturile noastre trebuie sa determin in care foldere mai exista sau nu acel fisier 
daca fisierele erau create de noi nu era problema, se administrau imediat
mersi pt sugestii


daca fisierele erau create de noi nu era problema, se administrau imediat

mersi pt sugestii

Re: Probleme performante VFP
daca pe local merge rapid,o alta solutie ar fi sa instalezi pe calculatorul unde exista acel folder un server web,de exemplu ai IIS in windows,doar sa l activezi,faci un controller care ruleaza scriptul local si intoarce raspunsul,apoi ii trimiti un request prin ip