Sto cercando di implementare un metodo di copia cartella che chiama FindFirstFile
e FindNextFile
in un ciclo, che può chiamarsi in modo ricorsivo su qualsiasi sottocartella.Come dire se la cartella è una sottocartella per la copia della cartella ricorsiva?
Per evitare un ciclo infinito evidente, è necessario assicurarsi che la cartella di destinazione non sia una sottocartella di una cartella di origine. La domanda è come farlo? Il mio pensiero era di tradurre un percorso DOS in un percorso specifico del dispositivo (è necessario scoprire come) ma sembra esserci di più.
Così sto testando per questa situazione:
ho creato la cartella My Documents
per essere reindirizzato a una condivisione di rete per \\Server\Home\UserA\Documents
, oltre a quella cartella è anche mappata all'unità R:
sul computer client. Quindi questo significa che tutte le seguenti cartelle:
"R:\Documents\Subfolder1"
"\\Server\Home\UserA\Documents\Subfolder1"
"C:\Users\UserA\Documents\Subfolder1"
punto di vista tecnico nella stessa posizione fisica, che è una sottocartella di My Documents
.
La domanda è come sapere questo in modo affidabile?
Se si sta iterando attraverso una gerarchia di cartelle, come ci si aspetta di incontrare più cartelle che si associano alla stessa cartella? A meno che non si utilizzino collegamenti simbolici o giunzioni (che possono essere rilevate entrambe durante l'iterazione). –
Oh, può essere fatto facilmente senza symlinks. Dì, se specifichi 'c: \ Folder1' come cartella di origine e' c: \ Folder1 \ Folder2' come destinazione. – c00000fd