Lokale Links dereferenzieren für FTP
Moderators: Hacker, Stefan2, white
Mich interessiert das Prog auch, allerdings wäre es für alle TC Nutzer deutlich einfacher, wenn Du es in der Plugin und Toolsektion vorstellen würdest, denn hier sehen es nur Leute, die sich für "Lokale Links dereferenzieren für FTP" interessieren.
Hochladen könntest Du es z.B. hier, wenn Du noch keinen eigenen Webspace hast:
http://rapidshare.de/
Oder Du schreibst Ergo 'ne Mail, damit Du auf totalcmd.net einen Account bekommst, dann sehen es noch mehr Leute.
Icfu
Hochladen könntest Du es z.B. hier, wenn Du noch keinen eigenen Webspace hast:
http://rapidshare.de/
Oder Du schreibst Ergo 'ne Mail, damit Du auf totalcmd.net einen Account bekommst, dann sehen es noch mehr Leute.
Icfu
This account is for sale
So, hab es mal online gestellt:
http://rapidshare.de/files/2626691/CheckFileHardLinks.exe.html
Kann noch um einiges verbessert werden, denke ich. Könnt ja mal Vorschläge machen. Wollte noch einbauen, dass man auch direkt per Parameterübergabe einen Hardlink erzeugen kann. Damit würde ich dann die anderen Tools auch nicht mehr brauchen...
http://rapidshare.de/files/2626691/CheckFileHardLinks.exe.html
Kann noch um einiges verbessert werden, denke ich. Könnt ja mal Vorschläge machen. Wollte noch einbauen, dass man auch direkt per Parameterübergabe einen Hardlink erzeugen kann. Damit würde ich dann die anderen Tools auch nicht mehr brauchen...
Gruß, Bernd (#97882 Personal licence)
Vielen Dank.
Vielleicht solltest Du eine Abfrage einbauen, ob die untersuchte Datei auf einem NTFS Laufwerk liegt, damit solche Ausgaben vermieden werden. Ich habe mich damit drei Momente lang ziemlich verwirrt. ( Ja ich weiss, dass Hardlinks nicht auf FAT_laufwerken liegen können, aber Dein Prog sollte einem das sagen
)
sheepdog
Vielleicht solltest Du eine Abfrage einbauen, ob die untersuchte Datei auf einem NTFS Laufwerk liegt, damit solche Ausgaben vermieden werden. Ich habe mich damit drei Momente lang ziemlich verwirrt. ( Ja ich weiss, dass Hardlinks nicht auf FAT_laufwerken liegen können, aber Dein Prog sollte einem das sagen

sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
Zur Erzeugung eines Hardlinks würde ich nach wie vor das NTFS Links-Plugin nehmen, das ist einfach bequemer, weil es sich direkt in den TC integrieren läßt und es ist nicht auf Hardlinks beschränkt sondern bietet auch Unterstützung für Junctions.
Verbesserungsvorschlag:
Die Suche sollte nicht auf die gleiche Dateiendung beschränkt werden – wenn man diese Einschränkung will, sollte man eine Checkbox o.ä. aktivieren.
Edit: Sheepdogs Problem kann ich nicht reproduzieren, selbst dann nicht, wenn ich die totalcmd.exe auf eine FAT-Partition kopiere. Es wird lediglich ein Hardlink angezeigt, nicht 4 Millionen.
Icfu
Verbesserungsvorschlag:
Die Suche sollte nicht auf die gleiche Dateiendung beschränkt werden – wenn man diese Einschränkung will, sollte man eine Checkbox o.ä. aktivieren.
Edit: Sheepdogs Problem kann ich nicht reproduzieren, selbst dann nicht, wenn ich die totalcmd.exe auf eine FAT-Partition kopiere. Es wird lediglich ein Hardlink angezeigt, nicht 4 Millionen.

Icfu
This account is for sale
Das passiert auch nicht bei allen Dateien, aber bei einigen offensichtlich schon. Und ich bin davon ausgegangen, dass das mit meinem FAT Dateisystem zu tun hat.icfu wrote: Sheepdogs Problem kann ich nicht reproduzieren, selbst dann nicht, wenn ich die totalcmd.exe auf eine FAT-Partition kopiere. Es wird lediglich ein Hardlink angezeigt, nicht 4 Millionen. Wink
Ich habe jetzt mindestens 3 Dateien gefunden, die auch nach einem Scandisk 4 mio Hardlinks aufweisen. Allerdings alle auf FAT Laufwerken. Falls gewünscht, würde ich eine Debug-Version hier laufen lassen, um den Fehler zu finden.
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
@Sheepdog: Könnte es sein, dass die Datei irgendwo anders geöffnet ist? Nur so ne Vermutung. Ich schau mal bei Gelegenheit (hab gerade so viel anderes zu tun), dass ich das in den Griff bekomme! 
@icfu: Über die Option alle Dateien durchsuchen zu lassen, hatte ich auch schon nachgedacht. Aber das kann sich unter Umständen verdammt lange hinziehen. Für die Überprüfung muss (laut MSDN) jede Datei geöffnet werden und dann muss man die (eindeutige) File-ID vergleichen...
Das hätte man ggf. auch besser implementieren können im System!

@icfu: Über die Option alle Dateien durchsuchen zu lassen, hatte ich auch schon nachgedacht. Aber das kann sich unter Umständen verdammt lange hinziehen. Für die Überprüfung muss (laut MSDN) jede Datei geöffnet werden und dann muss man die (eindeutige) File-ID vergleichen...

Gruß, Bernd (#97882 Personal licence)
Yep, das ist es. Funktioniert dann so auch auf NTFS-Laufwerk.@Sheepdog: Könnte es sein, dass die Datei irgendwo anders geöffnet ist?
Mit einem Warnfenster und evtl. einem Fortschrittsbalken fände ich das trotzdem eine gute Idee. Zumindest als OptionÜber die Option alle Dateien durchsuchen zu lassen, hatte ich auch schon nachgedacht. Aber das kann sich unter Umständen verdammt lange hinziehen.
sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
So, hab nochmal ein wenig gebastelt: http://rapidshare.de/files/2722350/CheckFileHardLinks.exe.html
Könnt ja mal schauen und sagen, ob es soweit funktioniert.
Was noch NICHT eingebaut wurde:
- Kommandozeilen-Parameter zum direkten erzeugen eines Hardlinks
- Check, ob es sich um eine NTFS-Partition handelt
Könnt ja mal schauen und sagen, ob es soweit funktioniert.
Was noch NICHT eingebaut wurde:
- Kommandozeilen-Parameter zum direkten erzeugen eines Hardlinks
- Check, ob es sich um eine NTFS-Partition handelt
Gruß, Bernd (#97882 Personal licence)
Es wird bei einem Testlauf angezeigt:
Diese Datei hat 4 Hardlinks, gefunden werden aber nur drei, was aber der tatsächlichen Anzahl entspricht, offenbar ein kleiner Rechenfehler.
ESC sollte die Suche abbrechen, das wäre prima.
Edit: Doch kein Rechenfehler, die fehlende Datei lag im Papierkorb, wurde allerdings nicht als Treffer ausgegeben.
Edit2: Hm, nach einem erneuten Test wird eine Datei im Papierkorb doch wieder aufgeführt, sehr verwirrend das...
Icfu
Diese Datei hat 4 Hardlinks, gefunden werden aber nur drei, was aber der tatsächlichen Anzahl entspricht, offenbar ein kleiner Rechenfehler.
ESC sollte die Suche abbrechen, das wäre prima.
Edit: Doch kein Rechenfehler, die fehlende Datei lag im Papierkorb, wurde allerdings nicht als Treffer ausgegeben.
Edit2: Hm, nach einem erneuten Test wird eine Datei im Papierkorb doch wieder aufgeführt, sehr verwirrend das...
Icfu
This account is for sale
Hmm - da wird nix gerechnet. Das ist die Rückgabe, die mir das System selber macht per API-Call. Wenn ich die Dateien suche, dann schaue ich mir die eindeutige ID der geöffneten Datei an und vergleiche sie. Sollte irgendwo ein Hardlink dieser Datei während der Suche von einem anderen Programm geöffnet sein, so wird dieser nicht gefunden.icfu wrote:Es wird bei einem Testlauf angezeigt:
Diese Datei hat 4 Hardlinks, gefunden werden aber nur drei, was aber der tatsächlichen Anzahl entspricht, offenbar ein kleiner Rechenfehler.
Bist du denn 100% sicher, dass es nur 3 Hardlinks gibt? Die Datei selber ist auch ein Hardlink, bedenke dies bitte!
Kann ich noch mal schauen und einbauen! Zufriedene Kunden sind doch das Wichtigste! *gg*icfu wrote:ESC sollte die Suche abbrechen, das wäre prima.

Gruß, Bernd (#97882 Personal licence)
Ich hatte meinen Beitrag bereits editiert...
Beim Rechenfehler dachte ich daran, daß Du vielleicht zum Rückgabewert eins addiert hast, warum auch immer.
Ich kann das Prob leider (oder zum Glück) nicht mehr reproduzieren. Wenn es nochmal auftritt, melde ich mich nochmal.
Icfu
Beim Rechenfehler dachte ich daran, daß Du vielleicht zum Rückgabewert eins addiert hast, warum auch immer.

Icfu
This account is for sale
Ok, ich denke, das ganze ist ein Anzeigeproblem.
Meine Vermutung:
Ich habe von einer Datei drei Hardlinks angelegt und Dein Tool gestartet. Es wurde sofort angezeigt, daß es insgesamt vier Hardlinks gibt, was korrekt ist.
Dann habe ich eine Datei gelöscht unter Umgehung des Papierkorbs. Nach Klick auf Suche wurden dann nur noch drei Dateien gefunden. Es wäre gut, wenn Du nach Abschluß der Suche nochmal die gleiche Abfrage machst wie nach dem Start des Programms und die Anzeige oben aktualisierst.
Icfu
Meine Vermutung:
Ich habe von einer Datei drei Hardlinks angelegt und Dein Tool gestartet. Es wurde sofort angezeigt, daß es insgesamt vier Hardlinks gibt, was korrekt ist.
Dann habe ich eine Datei gelöscht unter Umgehung des Papierkorbs. Nach Klick auf Suche wurden dann nur noch drei Dateien gefunden. Es wäre gut, wenn Du nach Abschluß der Suche nochmal die gleiche Abfrage machst wie nach dem Start des Programms und die Anzeige oben aktualisierst.
Icfu
This account is for sale