Lokale Links dereferenzieren für FTP

German support forum

Moderators: white, Hacker, Stefan2

icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

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
This account is for sale
User avatar
Cluni
Junior Member
Junior Member
Posts: 71
Joined: 2003-12-09, 14:38 UTC
Location: Irgendwo im Nirgendwo!

Post by *Cluni »

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...
Gruß, Bernd (#97882 Personal licence)
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

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
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

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
This account is for sale
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

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
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.

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
User avatar
Cluni
Junior Member
Junior Member
Posts: 71
Joined: 2003-12-09, 14:38 UTC
Location: Irgendwo im Nirgendwo!

Post by *Cluni »

@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!
Gruß, Bernd (#97882 Personal licence)
User avatar
Sheepdog
Power Member
Power Member
Posts: 5150
Joined: 2003-12-18, 21:44 UTC
Location: Berlin, Germany
Contact:

Post by *Sheepdog »

@Sheepdog: Könnte es sein, dass die Datei irgendwo anders geöffnet ist?
Yep, das ist es. Funktioniert dann so auch auf NTFS-Laufwerk.
Über die Option alle Dateien durchsuchen zu lassen, hatte ich auch schon nachgedacht. Aber das kann sich unter Umständen verdammt lange hinziehen.
Mit einem Warnfenster und evtl. einem Fortschrittsbalken fände ich das trotzdem eine gute Idee. Zumindest als Option


sheepdog
"A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete fools."
Douglas Adams
User avatar
Cluni
Junior Member
Junior Member
Posts: 71
Joined: 2003-12-09, 14:38 UTC
Location: Irgendwo im Nirgendwo!

Post by *Cluni »

Hmmm - Fortschritsbalken ist ne gute Idee! ;)
Gruß, Bernd (#97882 Personal licence)
User avatar
nevidimka
Senior Member
Senior Member
Posts: 385
Joined: 2004-06-20, 21:38 UTC

Post by *nevidimka »

Fortschritsbalken ist ne gute Idee!
Weshalb wohl für den "Fortschrittsbalken" auch in Europa bald Patentgebühren fällig werden. :D :P
The doorstep to the temple of wisdom is a knowledge of our own ignorance. Benjamin Franklin
User avatar
Cluni
Junior Member
Junior Member
Posts: 71
Joined: 2003-12-09, 14:38 UTC
Location: Irgendwo im Nirgendwo!

Post by *Cluni »

Opps! :oops: :lol:
Gruß, Bernd (#97882 Personal licence)
User avatar
Cluni
Junior Member
Junior Member
Posts: 71
Joined: 2003-12-09, 14:38 UTC
Location: Irgendwo im Nirgendwo!

Post by *Cluni »

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
Gruß, Bernd (#97882 Personal licence)
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

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
This account is for sale
User avatar
Cluni
Junior Member
Junior Member
Posts: 71
Joined: 2003-12-09, 14:38 UTC
Location: Irgendwo im Nirgendwo!

Post by *Cluni »

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.
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.

Bist du denn 100% sicher, dass es nur 3 Hardlinks gibt? Die Datei selber ist auch ein Hardlink, bedenke dies bitte!
icfu wrote:ESC sollte die Suche abbrechen, das wäre prima.
Kann ich noch mal schauen und einbauen! Zufriedene Kunden sind doch das Wichtigste! *gg* :lol:
Gruß, Bernd (#97882 Personal licence)
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

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
This account is for sale
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

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
This account is for sale
Post Reply