Hardlinks von allen Dateien eines Ordner incl. Unterordnern erstellen

TVJunkie

Newbie
Registriert
Okt. 2009
Beiträge
5
Hallo,
möchte unter Vista (NTFS) Hardlinks von einem ganzen Ordner erstellen.

Beispiel:

c:\Backup\"Quelle"\Ordner\(Dateien+Unterordner)

Leere Ordnerstruktur erstellen und Dateien als Hardlinks verlinken:
=>
c:\Backup\"Ziel"\Ordner\(Dateien+Unterordner)

So soll das ganze dann aussehen.

Dabei soll "Ziel" immer das Aktuelle Datum beim Aufrufen des Programms sein. In der Form: jjjj-mm-tt_hh-mm

"Quelle" soll dabei immer das neuste Datum sein, was sich in dem Ordner "Backup" befindet.

Mit fsutil.exe von Windows kann ich über die cmd immer eine Datei als Hardlink verlinken.
Wie bekomme ich es hin, dass ich alle Dateien eines ganzen Ordners verlinken kann. Die Ordnerstruktur soll natürlich vorher kopiert (nicht verlinken) werden.

Ich kann ein wenig C programmieren, aber auch nur ganz einfache Sachen (if, Schleifen, kleine Rechenaufgaben).
Könnte aber auch ne Batch Datei sein.

Vielleicht habt ihr ja ne Idee.
 
Der DirectoryNavigator sollte dir helfen.

Da du C kannst, dürfte es kein Problem sein, mit dem Programm eine Linkliste zu erstellen. Momentan erstellt er lediglich einen Verzeichnisbaum und speichert die Resultate in einer Textdatei ab.

Aufruf in der Konsole mit

DirectoryNavigator.exe C:\Ordner

Achja, das Programm ist für Windows, da die WinAPI verwendet wird.
 

Anhänge

Zuletzt bearbeitet:
Das mit dem Aufrufen hab ich schon rausbekommen und das funktioniert auch.

Wenn er eine Linkliste erstellen soll, muss ich das im Quellcode anpassen?
Nur in welcher? Wenn ich eine der drei .cpp Dateien, wie sie jetzt sind compilieren will, kommen schon einige Meldungen (und ich hab daran noch nichts verändert).
 
Welche Meldungen kommen? Bei mir wird das Ding sogar ohne Warnung fehlerfrei durchkompiliert!

Du musst die main.cpp und die listdir.cpp anpassen. Das ist in 3 Minuten geschehen.
 
Compiler: Default compiler
Führt g++.exe... aus
g++.exe "D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\listdir.cpp" -o "D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\listdir.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
In file included from D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/listdir.h:33,
from D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\listdir.cpp:19:
D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/config.h:36:30: warning: no newline at end of file
In file included from D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\listdir.cpp:19:
D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/listdir.h:150:22: warning: no newline at end of file
In file included from D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\listdir.cpp:20:
D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/timer.h:38: error: `word64' does not name a type
D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/timer.h:39: error: `word64' does not name a type
D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/timer.h:46: error: expected `;' before '(' token
D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/timer.h:50: error: `word64' does not name a type

D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/timer.h:59: error: `word64' does not name a type
D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/timer.h:60: error: `word64' does not name a type

In file included from D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\listdir.cpp:20:
D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/timer.h:76:8: warning: extra tokens at end of #endif directive
D:\Computer\Downloads\DirectoryNavigator\DirectoryNavigator\DirectoryNavigator\/timer.h:76:33: warning: no newline at end of file

Ausführung beendet

Mit Dev-C++
Hab aber auch sonst nur reine C Programme compiliert.
 
Ah, sehr gut, jetzt funktioniert das wenigstens schonmal.
Was muss ich den jetzt ändern, damit ich eine Liste mit den Pfaden zu den Dateien bekomme?
 
Ich bin jetzt soweit, dass das ganze Datums und Uhrzeit Zeug nicht mit ausgegeben wird.
Nur bekomme ich es nicht hin, dass vollständige Links zu den Dateien ausgegeben werden. Wer kann mir da weiter helfen?
 
Zurück
Oben