Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    752

    Controllo presenza file

    Ciao a tutti
    Nonostante che spremo fino allo stremo l'ultimo neurone rimasto non riesco a capire come affrontare questo problema:

    Ho un DB Access con all'interno un campo che memorizza i nomi dei file
    che sono contenuti in una cartella.

    Dentro la cartella ci sono finiti anche alcuni file
    che non sono presenti all'interno del DB.

    Io vorrei creare uno script che controlli quali sono i file contenuti dentro il DB e dentro la cartella e quali file sono dentro la cartella ma non presenti del DB.

    Grazie
    Comunque Grazie

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Leggi il db, recuperi i nomi dei file, li cerchi nella cartella e se li trovi li sposti (fso.Move) in un'altra cartella.
    In questo modo nelle due cartelle avresti i file separati: quelli da db e quelli non da db.

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    752
    Ecco cosa sto facendo ma non funziona:

    While ((Repeat1__numRows <> 0) AND (NOT Recordset2.EOF))
    For Each file in folder.Files
    string = file.name

    If (Recordset2.Fields.Item("MIOFILE").Value) = string
    next
    end if

    Repeat1__index=Repeat1__index+1
    Repeat1__numRows=Repeat1__numRows-1
    Recordset2.MoveNext()
    Response.Write(SoloNome)
    Wend
    Comunque Grazie

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non funziona che vuol dire?

    1) Leggi il campo del db
    2) Scorri i file della cartella
    3) Se trovi il file lo sposti

    vediamo.

    Roby

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    752
    Roby se era una sfida l'ho già persa.
    Infatti è quello che stavo facendo e il mio script è indirizzato a quello.
    Se in linea teorica siamo d'accordo è nello sviluppo dello script che sono fuori strada.

    Un piccolo aiutino??
    Comunque Grazie

  6. #6
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    function check_file(path)
    Dim FSO
    Set FSO = CreateObject("Scripting.FileSystemObject")
    if FSO.FileExists(Server.MapPath(path)) then
    check_file = true
    else
    check_file = false
    end if
    set FSO = Nothing
    end function

    'apri recordset
    Dim percorso_file
    do until rs.eof

    percorso_file = "/file/"& rs("file")
    if check_file(percorso_file) = false then
    'fai qualcosa
    end if

    rs.movenext
    loop

    rs.close:set rs=Nothing
    spero sia chiaro
    2000 post e sono più vecchio di 4 anni...
    grazie a tutti....

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    752
    Grazie Agenti e scusa la mia impreparazione.

    Da quello che riesco a capire il tuo script controlla se i file presenti nel DB ci sono effettivamente nella cartella.
    Io dovrei fare esattemente l'inverso, evidenziare quali file non sono presenti nel DB.

    Se ho capito male mi scuso anticipatamente.
    Comunque Grazie

  8. #8
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    fonte webmasterpoint.org

    Dim fso ' il file system object
    Dim folder ' la cartella (directory)
    Dim file ' il singolo file
    Dim string ' per contenere l'elenco

    ' N.B. assumo che 'dirName' contenga il nome della
    ' directory che si vuole 'listare'

    ' creo il FSO ed accedo alla singola cartella
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder( dirName )

    ' pulisco la stringa
    string = ""

    ' ciclo su tutti i file della cartella
    For Each file in folder.Files
    string = string & file.name
    string = string & vbCrLf
    '' fai una query di controllo qui

    Next

    ' a questo punto 'string' contiene l'elenco separato
    ' da 'ritorni a capo'.
    Set folder=Nothing
    Set fso=Nothing

    detto questo basta fare una query con il nome del file
    2000 post e sono più vecchio di 4 anni...
    grazie a tutti....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.