Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C++] Comando per eliminare cartelle

    Ciao a tutti.
    Mi servirebbe un comando per eliminare le cartelle.
    Ho trovato il comando removedirectory ma non fa al caso mio in quanto elimina solo cartelle vuote. Le cartelle che devo eliminare io, contengono al loro interno, dei file e altre cartelle....
    Grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    475
    Regolamento

    Quello che chiedi si trova tranquillamente con google (senza specificare che non sapendo su che OS sei, non sapremmo comunque aiutarti.
    "Let him who has understanding reckon the number of the beast, for it is a human number.
    Its number is rw-rw-rw-."

  3. #3
    Io utilizzo windows.
    Io ho cercato con google.
    Ma, come ho scritto sopra, ho trovato l'utilizzo della funzione remove directory che però funziona solo se le cartelle sono vuote... E questo non fa al caso mio. Vorrei poter eliminare cartelle "piene"

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,840
    Originariamente inviato da Giovanni Pr88
    Io utilizzo windows.
    Io ho cercato con google.
    Ma, come ho scritto sopra, ho trovato l'utilizzo della funzione remove directory che però funziona solo se le cartelle sono vuote... E questo non fa al caso mio. Vorrei poter eliminare cartelle "piene"
    Prova a creare un metodo ricorsivo che cancella il contenuto della cartella e poi la cartella stessa. È abbastanza banale
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Il problema è che dentro la cartella ci sono un sacco di file. File audio, altre sotto cartelle... Se ci fosse poca roba avrei fatto come dici tu!
    Mi sembra strano che per eliminare una cartella contenente file, sottocartelle...Non ci sia un comando apposito in c++

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,483
    Puoi ottenere il risultato (su windows) in modo piuttosto brutale con la funzione API della shell32 SHFileOperation, passandole una
    SHFileOpStruct
    http://msdn.microsoft.com/en-us/library/bb759795(v=vs.85).aspx
    con dentro DELETE, NO_CONFIRMATION,SILENT e così via

    Qui ne vedi qualcosina
    http://msdn.microsoft.com/en-us/library/bb762164(v=vs.85).aspx

    Non ti consiglio di usare le "nuove" funzioni (di vista e 7) in quanto il programma non funzionerebbe su XP

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,483
    Originariamente inviato da Giovanni Pr88
    Il problema è che dentro la cartella ci sono un sacco di file. File audio, altre sotto cartelle... Se ci fosse poca roba avrei fatto come dici tu!
    Non è difficilissimo, bisogna usare FindFirst e FindNext
    Mi sembra strano che per eliminare una cartella contenente file, sottocartelle...Non ci sia un comando apposito in c++
    bhè C++ è un linguaggio, quello che vuoi te è un comando di una libreria, sono due cose diverse

  8. #8
    Originariamente inviato da franzauker
    Puoi ottenere il risultato (su windows) in modo piuttosto brutale con la funzione API della shell32 SHFileOperation, passandole una
    SHFileOpStruct
    http://msdn.microsoft.com/en-us/library/bb759795(v=vs.85).aspx
    con dentro DELETE, NO_CONFIRMATION,SILENT e così via

    Qui ne vedi qualcosina
    http://msdn.microsoft.com/en-us/library/bb762164(v=vs.85).aspx

    Non ti consiglio di usare le "nuove" funzioni (di vista e 7) in quanto il programma non funzionerebbe su XP
    Conoscevo la shfileop solo che sto cercando di realizzare un programma portabile anche su linux...Quindi cercavo un comando che funzionasse su entrambi i sistemi operativi...

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,483
    ti suggerisco di usare la libreria POSIX standard dirent.h, per enumerare file e cartelle [opendir() etc], e rmdir()/_rmdir()

  10. #10
    Perfetto.
    Proverò ad usare la funzione rmdir con la libreria dirent.h Poi ti farò sapere.
    Grazie mille...

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 © 2019 vBulletin Solutions, Inc. All rights reserved.