+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [VBA] verificare esistenza file su server remoto tramite FTP

  1. #1
    kratistos84 non  in linea Novello
    Post
    13

    [VBA] verificare esistenza file su server remoto tramite FTP

    Salve sto cercando un modo per ottenere una lista di file di una cartella che si trova su un server remoto. sul mio pc ho aggiunto la risorsa di rete che si chiama Y:[cartella] .
    tramite il CMD di windows, se mi reco sulla cartella in questione e d il comando

    dir /b > C:\Users\user\Desktop\elencoFTP.txt

    il file di testo viene creato correttamente con tutti i nomi dei file contenuti in quella cartella. A me servirebbe fare questo in ACCESS con VBA.
    scrivendo questo:

    Shell "CMD /C DIR /b Y:\cartella1\cartella2\*.pdf > C:\Users\user\Desktop\elencoFTP.txt"

    mi crea un file vuoto. Se c' qualche altra soluzione che posso usare per controllare l'esistenza di un file sulla cartella remota prima di aggiungere altri file, ben venga.
    c' qualcuno che pu aiutarmi???
    Grazie.
    Saluti, Daniele.
    Ultima modifica di kratistos84; 13-03-2018 16:41 

  2. #2
    L'avatar di sistemista
    sistemista non  in linea Topo di biblioteca
    Luogo
    Prato
    Post
    2,676
    hai postato nella sezione sbagliata.
    aspetta che qualche moderatore sposti la tua domanda nella sezione giusta.
    occhio al regolamento.
    Sono stato nella terra del terrore e dei Vampiri...la transilvania? No!..in Banca.
    A Lupara?Min***a...Tecnologia Sicula !

  3. #3
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    15,841
    Blogs
    5
    Questa volta sposto la discussione, la prossima volta sar chiusa.

    In quale prodotto stai usando questo codice?
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  4. #4
    kratistos84 non  in linea Novello
    Post
    13
    mi scuso per l'errore da me commesso, pensavo che siccome era da parecchio che non ero attivo in questo forum dovessi scrivere l. comunque sto usando questo codice su Access, in VBA

  5. #5
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    15,841
    Blogs
    5
    Sposto la discussione in Access

    Inoltre, non mi pare che il titolo sia corretto.

    Non c' nulla che faccia riferimento a FTP. Tu hai mappato con una lettera una risorsa condivisa (uno share), ma ftp non c'entra nulla.

    Se apri una finestra DOS (con cmd), riesci a dare da quella finestra il comando


    DIR /b Y:\cartella1\cartella2\*.pdf > C:\Users\user\Desktop\elencoFTP.txt

    ?

    Cosa succede?

    Sei sicuro del percorso Y:\cartella1\cartella2\*.pdf

    ?
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  6. #6
    kratistos84 non  in linea Novello
    Post
    13
    Da DOS una volta che sono sulla cartella desiderata d il comando DIR /b >ecc... .txt e il file viene creato correttamente. quando porto il codice

    Shell "DIR /C /b Y:\cartella1\cartella2\*.pdf > C:\Users\user\Desktop\elencoFTP.txt"

    in Access mi viene creato il file ma il contenuto vuoto.

    il percorso giusto. adesso sto provando a vedere se tramite FTP si riesce a creare una lista dei file tramite il comando ls.
    se sapete qualcosa che posso usare con i comandi FTP ben venga

  7. #7
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    15,841
    Blogs
    5
    Non dici come mai hai mappato il drive Y su quello che ti serve vedere. Ti ho detto che in questo caso FTP non c'entra nulla. Puoi chiarire?

    Per quanto riguarda \cartella1\cartella2 dicci esattamente come il percorso e se comprende spazi
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  8. #8
    kratistos84 non  in linea Novello
    Post
    13
    Ciao, allora, mi collego al driver Y: tramite odbc -> SQL Server. la cartella che mi interessa ha una restrizione sulla scrittura, quindi solo un utente pu inserire e cancellare dati in essa, per questo uso ftp. tramite ftp gli passo user e pass e accedo alla cartella. tramite un codice vba creo un file.ftp e uno .bat per poter accedere alla cartella e trasferire dei file. il punto era che se in quella cartella gi esistevano dei file con lo stesso nome, il trasferimento non avveniva. Cercavo un modo per ottenere una lista dei file presenti in Y:cartella1\cartella2\ (senza spazi nel percorso). L'ho trovato cmq facendo cos:

    codice:
    Open Application.CurrentProject.path & "\list_FTP.ftp" For Output As #1
        
        Print #1, "open 192.168.1.1"   '---> qui va l'indirizzo del server
        Print #1, "utente"
        Print #1, "password"
        Print #1, "cd cartella1"
        Print #1, "cd cartella2"
        Print #1, "lcd " & percorso    '------> percorso va sul desktop
        Print #1, "ls -R elenco.txt"     '------->ls -R crea l'elenco dei file
        Print #1, "disconnect"
        Print #1, "quit"
        Close #1
        
        ccmd = "ftp.exe -s:" & Application.CurrentProject.path & "\list_FTP.ftp -i > " & Application.CurrentProject.path & "\list_FTP.txt"
        Open Application.CurrentProject.path & "\list_FTP.bat" For Output As #2
        Print #2, ccmd 
        Close #2
        ccmd = Application.CurrentProject.path & "\list_FTP.bat "
        lngHandle2 = Shell(ccmd , vbMaximizedFocus)
    in questo modo creo una lista di file e la metto sul desktop
    Ultima modifica di AntonioG; 16-03-2018 09:43  Motivo: Tag CODE per il codice

  9. #9
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    15,841
    Blogs
    5
    Scusa ... e che c'entra il comando

    DIR /b Y:\cartella1\cartella2\*.pdf > C:\Users\user\Desktop\elencoFTP.txt

    ????

    Assolutamente nulla.

    Dopo aver eseguito la Shell, dovresti avere sul Desktop il file txt con la lista.
    Questo file esiste? Devi leggere questo dal desktop con una Open in input
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  10. #10
    kratistos84 non  in linea Novello
    Post
    13
    il comando

    DIR /b Y:\cartella1\cartella2\*.pdf > C:\Users\user\Desktop\elencoFTP.txt

    era una prova che stavo facendo per cercare di creare quella lista di file. il metodo che ho scritto nel mio ultimo post l' ho trovato dopo.

    Tutto funziona ora.
    Sul desktop ho la lista contenente i nomi dei file che sono in quella cartella. Da quel file poi faccio un confronto con i nomi che sto per trasferire

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi