Dateiliste aus lokaler Textdatei einlesen?

German support forum

Moderators: white, Hacker, Stefan2

User avatar
t.rauner
Junior Member
Junior Member
Posts: 13
Joined: 2012-07-01, 00:10 UTC
Location: Sulzbach-Rosenberg, Germany

Re:Dateiliste aus lokaler Textdatei einlesen?

Post by *t.rauner »

Hallo Forum,

wow, das ist starker Tobak! Zunächst mal heftigen Dank für die Hilfe, ich bin begeistert. :!:

Den ersten Vorschlag von HolgerK habe ich teilweise erfolgreich nachvollzogen, und ich gebe zu, der Ansatz ist genauso kompliziert wie aber auch faszinierend - ich kannte zwar die Menüeinträge "Auswahl aus Datei laden" als auch "Zweigansicht", aber habe mich nie damit beschäftigt (und habe sie auch nicht verstanden) - bis zu diesem Tipp. Genial!

Der Hinweis von Dalai mit den Umlauten ist mir bekannt, aber ich benutze für die Listen EditPat Lite v7.1.2 x64 (http://www.editpadlite.com/cgi-bin/version.pl?app=epl&ver=708&lang=de&dp=w), da dieser Editor die für mich verständlichste (und damit sicherste) Lösung für das Umlaut-Problem bietet:

Man lädt die Liste in den Editor, wählt [Convert] > [Text Encoding], und hier die Option "Interpret the original data as being encoded with another character set". So kann man die Datei gefahrlos editieren, unnötige Abschnitte löschen und selbstverständlich auch unpassende Pfadanteile Suchen/Ersetzen. Danach steht einer Fortsetzung der Arbeitsanleitung von HolgerK nichts mehr im Weg. Und weil man solche "Umzüge" ja nicht täglich veranstaltet, ist der hohe Aufwand nicht unbedingt relevant.

Einen Bug habe ich im Skript von HolgerK gefunden: Ich kann die (Negativ-) Auswahl tatsächlich in einer Datei speichern, aber
- Diese Liste dann als Ignorierliste laden: "Konfigurieren -> Einstellungen..:Ignorierliste [>>]"
funktioniert nicht, da die Liste wohl als Unicode gespeichert, aber als ANSI in den Ignorierlisten-Dialog geladen wird (Anzeige "ÿþA"). Ende der Vorstellung. Den Rest des Skripts kann ich deshalb nicht mehr testen. Schade für den coolen Ansatz.

Für die Lösung von algol
Liste ins MRT mit Editor laden.
Vor den Qualifizierten Pfad jeweils einen neuen Parent-Orner setzen. Also:
\\#MOVENAS1\alter_Pfad
fehlt mir leider das Veständnis. O.k., "MRT" heißt wohl Multi Rename Tool, aber was für Dateien müssen bei Aufruf des Tools markiert sein (und damit in das Umbenenn-Fenster geladen werden), und was für eine Dateiliste lädt man dann mit der Schaltfläche "Namen aus Datei laden"? Da muss ich noch weiter probieren, fürchte ich.

Am vielversprechendsten scheint mit die Lösung von algol
Kommandos zurück!! Manchmal ist man...
zu sein. Nachdem ich auf grund des Postings von algol endlich auch die ReadMe von TreeCopyPlus verstanden und das Prinzip (das Plugin wird bedient wie ein Packer, ist aber ein Kopiertool) begriffen habe, ist mein Problem weitgehend gelöst. Es sind zwar immer noch einige nicht ganz triviale Schritte (nix für morgens um ½4 in Deutschland :D ) zum Ziel, aber dadurch, dass diese Lösung sehr "visuell" verläuft (Zwischenschritte können im Dateilistenfenster kontrolliert werden), scheint mir diese Lösung am ehesten "foolproof", und deutlich besser, als mein am Anfang vorgeschlagenes (jetzt endlich durchgelaufenes) Batch-Skript. Danke, algol!

Schließlich noch zum Skript von Dalai:
Ich hab mal etwas ... in Batch gebastelt
Das Skript tut - besser verständlich als mein Entwurf - prinzipiell das Gleiche, wie das, was mein Rechner die vergangene Nacht bis fast um 21:00 Uhr MESZ abgearbeitet hat. Ich finde diese Batch-Lösungen - wenn sie denn funktionieren - durchaus charmant, à la "fire and forget"; aber wehe, irgendwas in dem Skript läuft schief. So ähnlich habe ich mir neulich Teile meiner Datenpartition geplättet (RD \. lautete der Befehl, weil die davor gesetzte Variable %DELDIR% nicht belegt war - gedacht war RD %DELDIR%\. :oops: ). Besser gefällt mir als alter Windows-Hase dann doch der wie oben erwähnt "visuellere" Ansatz mit TC-Suchdialog auf der Basis der zuvor erstellten Liste in Verbindung mit TreeCopyPlus. Das wird wohl meine zukünftige Strategie werden.

Dennoch nochmal besten Dank an HolgerK, algol und Dalai für die engagierte Unterstützung! Ich habe viel gelernt heute.
Der Fall ist für mich damit erfolgreich erledigt.

Beste Grüße an alle,

Thomas
Last edited by t.rauner on 2012-07-02, 18:49 UTC, edited 2 times in total.
Total Commander 9.20 x64
Windows 10 Pro x64
ASUS P8H67-V
Intel Core i7-2600 CPU @ 3.40GHz
Socket 1155 LGA
16384 MBytes RAM
algol
Senior Member
Senior Member
Posts: 456
Joined: 2007-07-31, 14:45 UTC

Re:Dateiliste aus lokaler Textdatei einlesen?

Post by *algol »

t.rauner wrote: fehlt mir leider das Veständnis. O.k., "MRT" heißt wohl Multi Rename Tool, aber was für Dateien müssen bei Aufruf des Tools markiert sein (und damit in das Umbenenn-Fenster geladen werden), und was für eine Dateiliste lädt man dann mit der Schaltfläche "Namen aus Datei laden" ? Da muss ich noch weiter probieren, fürchte ich.
Vergiss das ganze, es war ein noch unausgegorener Ansatz, den ich zur Diskussion stellen wollte, noch bevor ich die spätere Lösung hatte.

Mit "Namen aus Datei laden" wäre natürlich Deine "dir"-Dateiliste in ANSI-Format gemeint gewesen, die dann im Editor (zwecks Parent-Ordner) hätte bearbeitet werden sollen. Das hätte aber vorausgesetzt, dass man eine leere MRT-Version starten hätte können, bei der sowohl die Liste der alten als auch zugleich der (zunächst identen) neuen Namen aus der Datei geladen worden wären.

Wahr ist aber vielmehr, dass man das MRT wohl nur mit einem konkreten Set markierter Dateien aus dem TC-Dateifenster starten kann und lediglich die Liste der neuen Dateinamen aus einem file geladen werden kann, die dann aber nach Art und Anzahl zu den beim Öffnen ins MRT geladenen "alten" Dateinamen passen müssen. Auch dazu hätte man also Deine Liste bereits vorher irgendwie in ein TC-Fenster übernehmen müssen, was erst meine spätere "Such-Lösung" zu leisten vermag. Aber durch diese sind die vorgenannten Überlegungen ohnehin obsolet, weil sie ja einen viel direkteren Weg ermöglicht.
t.rauner wrote:Es sind zwar immer noch einige nicht ganz triviale Schritte (nix für morgens um ½4 in Deutschland :D ) zum Ziel,
Die da wären? Sobald Du Deine Liste mit vorangestelltem "@"-Symbol in die "Suche in"- (nicht "nach-") -Maske eingetragen hast und die nachfolgende Pseudo-Suche auch tatsächlich alle Dateien aus Deiner Liste "wiederfindet", ist doch schon alles gewonnen. Der Rest mit "treecopy" sollte dann Routine sein.
t.rauner wrote:aber wehe, irgendwas in dem Skript läuft schief. So ähnlich habe ich mir neulich Teile meiner Datenpartition geplättet (RD \. lautete der Befehl, weil die davor gesetzte Variable %DELDIR% nicht belegt war - gedacht war RD %DELDIR%\. :oops: ).
Autsch! Da bestätigt sich auf etwas dramatische Weise die alte Computer-Weisheit, dass letztere eigentlich immer genauestens das tun, was man ihnen "sagt". Nur ist dies leider eben in den seltensten Fällen wirklich ident mit dem, was man eigentlich wollte!

Genau darum hat "Dalai" ja vor die kritischen Befehle vorerst ein "REM" gesetzt, damit man es vorher ausprobieren kann und - sollte es praktisch dann doch irgendwie "schieflaufen" - nicht gleich eine reale Daten-Katastrophe eintritt. Vergleichbar einem 100-Seiten-Serienbrief, den "Könner" ja auch erst in eine Datei probe-drucken, während alle DAUs über so etwas nur lachen können und das Machwerk garantiert sofort über den Farb-Laserdrucker jagen. Und in manchen Unternehmen, habe ich mir sagen lassen, geht so etwas nur einmal. :)

mfg
algol
User avatar
t.rauner
Junior Member
Junior Member
Posts: 13
Joined: 2012-07-01, 00:10 UTC
Location: Sulzbach-Rosenberg, Germany

Re:Dateiliste aus lokaler Textdatei einlesen?

Post by *t.rauner »

dass man das MRT wohl nur mit einem konkreten Set markierter Dateien aus dem TC-Dateifenster starten kann
:wink: Uff, dann habe ich ja nicht umsonst ein bisschen doof geguckt an der Stelle. Trotzdem Danke für Deinen Hinweis, was hinter dem MRT noch so alles an Überraschungen lauert - wahrscheinlich werde ich die Funktion gleich übermorgen brauchen ...
Genau darum hat "Dalai" ja vor die kritischen Befehle vorerst ein "REM" gesetzt
Habe ich ihm auch sofort abgeguckt, für weitere Tests ... Bisher habe ich nach Rückspielen des Backups noch nichts Wesentliches vermisst, außer, dass mein Copernic Desktop Search-Index im Eimer war. War so gesehen aber eher ein Gewinn, finde jetzt wieder mehr.
während alle DAUs über so etwas nur lachen können
Jau, vorher hätte ich auch gelacht. Warum nicht auch mal DAU sein :oops:

Nochmals besten Dank für Deine Lösung, habe ich mir als Kochrezept ins Hilfeverzeichnis (auf dem NAS, nicht auf der Datenpartition :lol: ) kopiert.

Beste Grüße,
Thomas
Total Commander 9.20 x64
Windows 10 Pro x64
ASUS P8H67-V
Intel Core i7-2600 CPU @ 3.40GHz
Socket 1155 LGA
16384 MBytes RAM
User avatar
Dalai
Power Member
Power Member
Posts: 9425
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re:Dateiliste aus lokaler Textdatei einlesen?

Post by *Dalai »

t.rauner wrote:[...] außer, dass mein Copernic Desktop Search-Index im Eimer war. War so gesehen aber eher ein Gewinn, finde jetzt wieder mehr.
:lol: Sicher nicht nur deswegen hat sich der Thread gelohnt 8).

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
white
Power Member
Power Member
Posts: 4648
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: Dateiliste aus lokaler Textdatei einlesen?

Post by *white »

t.rauner wrote:ich habe mir vor dem Aufrüsten meines NAS (NAS1) mit neuen Festplatten alle darauf befindliche Dateien auf ein zweites NAS (NAS2) gesichert (1:1-Kopie). Dort befinden sich nun alle Dateien in ihren ursprünglichen Ordnern, die auf NAS1 vorhanden waren, plus ältere, obsolete Sicherungskopien.

Ich habe mir nach dem Backup ein Dateiliste von NAS1 angelegt (dir /s/a-d/b NAS1:\*.*), und wollte nun "einfach" die in der Liste gespeicherten Dateien wieder zurücklesen. Und bin schon fast einen halben Tag am ergebnislosen Googeln. Ein einfaches Zurückkopieren - z. B. mit dem TC-Befehl "Verzeichnisse synchronisieren" würde nun alle Dateien plus der unerwünschten obsoleten Dateien auf NAS1 zurück kopieren. Also muss die Kopieraktion unter Berücksichtigung der Liste (Teilmenge der Dateien auf NAS2) stattfinden.

Was ich gefunden habe, sind diverse Vorschlage, die auf "for /f ..."-Schleifen für die Eingabeaufforderung beruhen. So weit, so gut, die Lösung ist grottenlangsam und ein bisschen krude. Die Dateiliste habe ich so modifiziert:

Aus:
\\NAS1\extra\lw_y\Programme\TightVNC\vncviewer.exe
\\NAS1\public\SHELL32.icl
\\NAS1\video\multimedia\Queen\Queen - Love of My Life.flv
...

wurde:
\extra\lw_y\Programme\TightVNC\vncviewer.exe
\public\SHELL32.icl
\video\multimedia\Queen\Queen - Love of My Life.flv
...
Fügen Sie am Anfang der Datei eine Zeile "\\NAS2" ein und machen Sie die Dateinamenerweiterung ".lst".
Installieren Sie Diskdir Plugin von http://www.ghisler.com/plugins.htm.
Öffnen Sie die .lst-Datei und kopieren Sie alle Dateien.
User avatar
t.rauner
Junior Member
Junior Member
Posts: 13
Joined: 2012-07-01, 00:10 UTC
Location: Sulzbach-Rosenberg, Germany

Post by *t.rauner »

white wrote:Fügen Sie am Anfang der Datei eine Zeile "\\NAS2" ein und machen Sie die Dateinamenerweiterung ".lst".
Installieren Sie Diskdir Plugin von http://www.ghisler.com/plugins.htm.
Öffnen Sie die .lst-Datei und kopieren Sie alle Dateien.
t.rauner wrote:Deine Antwort scheint mir aber auch schon eine Bestätigung dessen zu sein, was ich vermute: Es gibt keine Möglichkeit in Total Commander, die Quell-Dateiliste (z. B. linkes Dateipanel) statt über Suchfunktion o. ä. über das Einlesen einer (gefilterten) Liste zu befüllen, richtig?
Es gibt eine Möglichkeit in Total Commander, die Quell-Dateiliste (z. B. linkes Dateipanel) statt über Suchfunktion o. ä. über das Einlesen einer (gefilterten) Liste zu befüllen!

Danke in die Niederlande für diesen genialen Tipp!

Beste Grüße,
Thomas
Total Commander 9.20 x64
Windows 10 Pro x64
ASUS P8H67-V
Intel Core i7-2600 CPU @ 3.40GHz
Socket 1155 LGA
16384 MBytes RAM
algol
Senior Member
Senior Member
Posts: 456
Joined: 2007-07-31, 14:45 UTC

Re: Dateiliste aus lokaler Textdatei einlesen?

Post by *algol »

white wrote:Installieren Sie Diskdir Plugin von http://www.ghisler.com/plugins.htm.
Ebenfalls verbindlichsten Dank, kannte ich noch nicht! Man sollte wirklich jeden Tag etwas Neues dazulernen. Und für heute liege ich damit schon im Plan.

Denn nach Lesen der Beschreibung dachte ich erst, damit kann man lediglich so eine Liste erstellen, wie der OP sie bereits hat.

Aber das Geniale daran ist, dass man, wie das Experiment mich belehrt hat, über diese "Archiv-Liste" ja wirklich die realen Dateien ansprechen kann. Denn anders als in einem eigentlichen Archiv sind da ja gar keine (gepackten) Dateien drin!

Damit wird dann nicht mal das "treecopy"-plugin benötigt, man kann in TC einfach ganz normal aus diesem "Pseudo-Archiv" heraus kopieren.

mfg
algol
Post Reply