Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Erkennen von Hardlinks unter XP Prof

Frage Microsoft Windows Tools

Mitglied: Shadow377

Shadow377 (Level 1) - Jetzt verbinden

18.08.2006, aktualisiert 29.08.2006, 11197 Aufrufe, 8 Kommentare

Hi Leute
Hab mal wieder eine Frage: Ich brauche teilweise in unterschiedlichen Verzeichnissen Zugriff auf die selbe Datei, beispielsweise bei der Kategorisierung meiner Downloads.
Dazu verwende ich Hardlinks (Befehl: fsutil hardlink create <new> <old>) um den Effekt zu erzielen, dass ich an allen Orten alle Möglichkeiten habe, ohne die Einschränkungen die z.B. Verknüpfungen mit sich bringen und aber auch ohne zusätzlich Speicherplatz zu verbrauchen.
So weit, so gut; bis hierher ist mal alles klar. Allerdings bin ich vor meinem Urlaub mit dem Erstellen der Hardlinks nicht fertig geworden und weiß mittlerweile leider nicht mehr wie weit ich gekommen bin, daher bin ich auf der Suche nach einem Tool, Skript oä, das die Daten auf Dateisystemebene prüft, ob es sich tatsächlich um den selben Speicherbereich und nicht eine Kopie handelt (also erkennt ob es sich um einen Hardlink handelt oder nichtl...)

Betriebssystem ist XP Prof, Dateisystem NTFS

Schon im Vorhinein danke für die Hilfe
Mitglied: Shadow377
21.08.2006 um 12:18 Uhr
Kann mir denn niemand helfen? Es muss doch ein Tool geben, das sowas kann...
Bitte warten ..
Mitglied: Biber
21.08.2006 um 13:15 Uhr
Na, Shadow377,

nu mal keine Panik - sooo unlösbar ist das ja nun auch nicht.
Wenn Du nicht selber scripten oder bätchen willst, dann lade Dir von Mark Russinovich's Sysinternals-Seite das Junction-Tool herunter.
Dann kannst mit
01.
junction c:\*.* /s 
..alle Datei/Verzeichnisverknüpfungen auf Laufwerk C:\ anzeigen lassen am CMD-Prompt.

Was ich bei manchen Problemen hier nicht vollständig verstehe....
Wie können solche Situationen entstehen, dass zuerst Hardlinks angelegt werden, bevor bekannt ist, wie man/frau die wiederfindet oder wieso jemand mit C# ein paar Registrykeys schreibt und dann hier im Forum fragt, wie er RegKeys lesen kann.
Der 2. Fall war grad gestern hier im Forum.

Ich hoffe, solche Erlebnisse sind lehrreich..

Biber,
der natürlich auch schon Programme aufgerufen hat, die er gar nicht allein beenden konnte...*gg
Bitte warten ..
Mitglied: Shadow377
21.08.2006 um 21:46 Uhr
Danke für die Antwort, Hardlinks werden allerdings nicht gefunden..Liegt wohl daran, dass das Tool nach reparse points und nicht nach Hardlinks sucht? (sind ja meines wissens unterschiedlich)
Tut mir leid wenn ich möglicherweise was falsch verstehe, aber bei hardlinks bin ich nicht so der Profi; weiß auch erst seit relativ kurzem dass es sie überhaupt (unter windows) gibt..
Bitte warten ..
Mitglied: Biber
28.08.2006 um 18:04 Uhr
Nein, Shadow377,
da hatte ich zu voreilig losgeplappert - ich war wirklich auf der falschen Schiene.
Nämlich bei Junctions/Soft- und Symbolic Links, die ich auch gelegentlich verwende.

Für diese Hardlinks schätze ich, dass Du es mit zwei, dreizeilen Batch und vor allen dem ln.exe-Utility aus dem Windows-ResKitz hinbekommen kannst.

Wäre ja nicht so schlimm - lässt ja schnell etwas zusammenschroten.

Aber da schreckt mich die Theorie:
Da ein HardLink ja ein ganz normaler Eintrag im NTFS-Dateisystem/in der MFT ist, kann es nur eine Möglichkeit geben, einen Hardlink zu lokalisieren.
Du musst bei der Original-Datei, also der vorher vorhandenen "Source"-Datei, und auch bei der Schein-Datei prüfen und feststellen, dass dort nicht nur eine Referenz auf dieses "Datei-Objekt" verweist, sondern zwei oder mehr.

Das wiederum hieße, Du müsstest für jede gottverdammte Drömeldatei auf Deinem 2700-TeraByte-Rechner einzeln prüfen, ob auf diesen MasterFileTable-Eintrag ein oder mehr Referenzen verweisen.
Und für alle Dateien mit 2 oder mehr Referenzen wiederum danach eine Suche nach deren Datei-Index (also der eindeutigen Dateiobjekt-Referenz machen.

Nö.

Da warte ich lieber mit ab, bis M$ da ein Utility nachliefert

Skizze mit ln.exe wäre:
Schritt 1 ALLE ALLE ALLE Dateien mit ln.exe prüfen, ob die Anzahl Refernenzen >1 ist.

Beispiel in meinem Temp-Verzeichnis:
01.
(=17:56:18  D:\temp=) 
02.
>ln -l *.txt 
03.
0001-00C4       2 BEISPIEL.TXT 
04.
0002-C140       1 benutzer1.txt 
05.
0002-C13F       1 benutzer2.txt 
06.
0014-997F       1 datetime.txt 
07.
0018-A5AA       1 findstrhelp.txt 
08.
0001-00D8       1 ipconfig.txt 
09.
000D-95E9       1 MessSub.txt 
10.
0001-00E3       1 passwds.txt 
11.
0023-C14D       1 RevInfo.txt 
12.
0001-00EF       1 rsmoutput.txt 
13.
0007-79CE       1 werte.txt
Wie zu erkennen ist, ist nur bei der Datei BEISPIEL.txt der Anzahl-der Referenzen (die zweite Spalte) größer 1.

Und in der ersten Spalte steht der so genannte Datei-Index (0001-00C4).
Wenn Du den ermittelt hast, dann kannst Du damit loslaufen und gezielt rekursiv anch diesem Datei-index suchen.

Das ergibt dann (vom Root-Verzeichnis ausführen!):
01.
(=17:59:16  D:\=) 
02.
>ln -x -r  0001-00c4 2>nul 
03.
0001-00C4       2 Biber\thisIsAlinkedFile.txt 
04.
0001-00C4       2 temp\BEISPIEL.TXT
Da wittu bekloppt, wenn Du das mit Deinen 300000 Dateien machen willst.

Oder lass mal einen HardLinkScan.bat über Nacht laufen.
Eventuell über eine Polarnacht.

Sorry
Biber
Bitte warten ..
Mitglied: Shadow377
28.08.2006 um 18:28 Uhr
Danke mal für deine Antwort, habe schon fast die Hoffnung aufgegeben eine Lösung zu finden

Ich werde mir das ganze mal morgen oder in den nächsten Tagen genauer ansehen, allerdings glaube ich, dass du mir mehr geholfen haben könntest als du glaubst, denn

1)Musst du ja nicht den ganzen Rechner prüfen, da es meines Wissens nach nicht möglich ist Hardlinks von einer Partition auf eine andere zu erstellen;

2)Das ganze lässt sich ja (zumindest wenn ich das jetzt auf die schnelle richtig durchschaut habe) auch auf einen gewissen Ordnerstamm eingrenzen, was mir erheblich weiterhilft, da ich weiß, dass die Hardlinks beispielsweise irgendwo in D:\downloads liegen müssen (computerspezifisch, gilt nicht generell sondern ich habe sie so erstellt)-->auch damit wird die Menge der zu prüfenden Dateien und folglich auch die Zeit erheblich Verringert

3)Unter Annahme von 2) muss dadurch nur noch eine ungefähre Datenmenge von <20GB und <60.000 Dateien (meist <20.000) geprüft werden (in den zwei für mich wichtigsten Fällen 4,5/7,7 GB mit ~13.000/4.000 Dateien); das sollte meiner Einschätzung nach in einer relativ kurzen Zeitspanne möglich sein, oder?

Werde mir das ganze wie gesagt in den nächsten Tagen genauer ansehen und mich dann (hoffentlich mit Erfolgen) melden
Bitte warten ..
Mitglied: Biber
28.08.2006 um 18:38 Uhr
Jepp, shadow377,

Deine Datenmenge ist noch handelbar...

Du müsstest dann also eigentlich nur
- ins Verzeichnis d:\Downloads wechseln,
- dort am CMD-Prompt eingeben:
01.
for /f "tokens=1-3,*" %i in ('ln -l *.*') Do @if %j GEQ 2 Echo %i %j %k
..Dann solltest Du alle Hardlinks [d.h. eine Hälfte davon] haben.

Schreib mal, wie es lief.

Gruß
Biber
Bitte warten ..
Mitglied: Shadow377
28.08.2006 um 22:39 Uhr
Wollte das ganze mal ausprobieren, habe allerdings noch eine Frage:
Wo genau kriege ich ln.exe her, welches Resource Kit brauche ich dafür?
Bitte warten ..
Mitglied: Biber
29.08.2006 um 10:13 Uhr
...Du weißt doch - Windows ist ein intuitiv bedienbares Betriebssystem...

Also einfach in der FireFox-Addressleiste eingeben:
http://Reskit.com

Alle ab Win2000 aufwärts sollten das haben.

Gruß
Biber
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Windows Netzwerk
gelöst Probleme beim Erkennen eines identischen Servers (5)

Frage von DonDento zum Thema Windows Netzwerk ...

Windows 10
gelöst RDP Verbindung zu Windows 10 Prof. mit Zertifikat sichern (2)

Frage von Windows11 zum Thema Windows 10 ...

Windows Installation
gelöst Portabel Apps erkennen oder sperren (5)

Frage von joehuaba zum Thema Windows Installation ...

Hyper-V
gelöst Bestehende XP-Installation mit Hyper-V virtualisieren (30)

Frage von fox14ch zum Thema Hyper-V ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (14)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...