Mehrere Dateien gleichzeitig suchen + anschliessend kopieren
Moderators: white, Hacker, Stefan2
Mehrere Dateien gleichzeitig suchen + anschliessend kopieren
Hallo,
Ich möchte in einer großen Datensammlung eine Liste von sehr vielen Dateien suchen (Liste mit exakten Dateinamen), um sie anschliessend in ein eigenes Verzeichnis zu kopieren.
Gibt es zu diesem Zweck ein Plugin, dem ich einfach eine Liste (Textdatei oder wasauchimmer) geben kann und das dann nach den Dateinamen in der Liste sucht ?
Wieviele Dateien kann Total Commander maximal "finden" ?
Gruß
Blumba
Ich möchte in einer großen Datensammlung eine Liste von sehr vielen Dateien suchen (Liste mit exakten Dateinamen), um sie anschliessend in ein eigenes Verzeichnis zu kopieren.
Gibt es zu diesem Zweck ein Plugin, dem ich einfach eine Liste (Textdatei oder wasauchimmer) geben kann und das dann nach den Dateinamen in der Liste sucht ?
Wieviele Dateien kann Total Commander maximal "finden" ?
Gruß
Blumba
Was die maximale Anzahl angeht kann ich nichts sagen, aber so wie ich das sehe gibt es kein Limit,TC-Hilfe wrote:Suchen in: Geben Sie hier einen oder mehrere Anfangspfade für die Suche an, getrennt durch ";". Sie können den Anfangspfad alternativ auch in Suchen nach angeben. Start der Suche auch innerhalb eines Archivs möglich.
Neu: Sie können auch eine Textdatei (ANSI; UTF-8 oder UTF-16, letztere 2 mit BOM) mit einer Liste der zu durchsuchenden Dateien und Verzeichnisse angeben, in der Form @c:\Pfad\Dateiname.txt. Die Textdatei muss einen Datei-/Verzeichnisnamen pro Zeile enthalten, entweder als absoluten Pfad, oder relativ zum Verzeichnis der Listendatei. In der Listendatei dürfen nun auch die Platzhalter * und ? verwendet werden.
Beispielliste: Beschreibung
c:\testdir\ Sucht in "c:\testdir" nach Dateien definiert in "Suchen nach"
c:\testdir\*.txt *.doc Sucht in "c:\testdir" nach txt- und doc-Dateien
c:\testdir\<RegEx Sucht in "c:\testdir" mit dem regulären Ausdruck
c:\testdir\dateiname.txt Sucht nur nach "dateiname.txt" in "c:\testdir"
Neu: Geben Sie vor dem Speichern ein '>'-Zeichen als Suchort an, damit beim Laden der Suchort NICHT geladen und ersetzt wird (nützlich um nach einem bestimmten Dateinamen im aktuellen Verzeichnis zu suchen).
erfahrungsgemäß wird es aber jenseits von 10000 Dateien langsam.
TC plugins: PCREsearch and RegXtract
Re: Mehrere Dateien gleichzeitig suchen
Hallo Blumba, willkommen im Forum.
(Was wäre dann bei Namensgleichheit?)
- - -
Wie wäre es mit einem einfachen Skript?
Pseudo code:
Für jede Zeile in ( C:\Ordner\Liste.txt ) kopiere ZEILE nach NeuesVerzeichnis
Wie beim TC: [face=timesnewroman]"Die Textdatei muss einen Datei-/Verzeichnisnamen pro Zeile enthalten"[/face]
Falls ein Skript von dir gewünscht wird, bräuchten wir noch nähere Angaben:
- Beispielzeilen aus deiner Liste
- Beispiel Ziel-Ordner
Sollen alle Dateien in EIN gemeinsames Verzeichnis kopiert werden?blumba wrote:Ich möchte in einer großen Datensammlung
eine Liste von sehr vielen Dateien suchen (Liste mit exakten Dateinamen),
um sie anschliessend in ein eigenes Verzeichnis zu kopieren.
(Was wäre dann bei Namensgleichheit?)
- - -
Wie wäre es mit einem einfachen Skript?
Pseudo code:
Für jede Zeile in ( C:\Ordner\Liste.txt ) kopiere ZEILE nach NeuesVerzeichnis
Wie beim TC: [face=timesnewroman]"Die Textdatei muss einen Datei-/Verzeichnisnamen pro Zeile enthalten"[/face]
Falls ein Skript von dir gewünscht wird, bräuchten wir noch nähere Angaben:
- Beispielzeilen aus deiner Liste
- Beispiel Ziel-Ordner
2blumba
Probier es mal damit:
http://www.totalcmd.net/plugring/file.html
Das Plugin hat ein Feld "file.Ist in Liste". Diese Datei muss vorher entsprechend editiert werden.
Probier es mal damit:
http://www.totalcmd.net/plugring/file.html
Das Plugin hat ein Feld "file.Ist in Liste". Diese Datei muss vorher entsprechend editiert werden.
Wow schonmal danke für die Hilfe, kriegs aber noch nicht hin
Guten Morgen,
Ich möchte eine Liste erstellen (zB. Textdatei photos.txt, die folgendermassen aussehen wird:
40356521P.jpg
42163651P.jpg
...(usw)
für tausende verschiedene, einzigartige Dateinamen. Jetzt möchte ich ein Verzeichnis mit zig Unterverzeichnissen nach diesen Dateien durchsuchen, es wäre schön wenn ich mir die Dateien dann in einem der Fenster anschauen kann, so wie es bei der Suche üblich ist, wenn man danach auf "Anwenden" clickt, sodass ich anschliessend die gefundenen Dateien in ein bestimmtes Verzeichnis kopieren kann. Es gibt keine doppelten Dateinamen, daher ist das völlig unproblematisch.
Meine Fragen/Kommentare sind jetzt:
1) @milo1012: Wenn ich es richtig verstehe, meinst Du eine Funktion mit der man eine Textdatei mit Liste von zu DURCHsuchenden Dateien angeben kann. Ich möchte die zu suchenden Dateien in der Liste angeben (also suchen NACH, nicht suchen IN). Wenn ich es nicht richtig verstanden habe, erklär mir bitte ahand meines Beispiels wie die Liste aussehen muss (+Format) und in welchem Feld ich sie angeben muss... danke.
2) @Stefan2: Gerne her mit dem Skript Beispiel für die Liste siehst Du oben, der zu durchsuchende Ordner wäre zB. p:\PhotosI\ (Mit zig Unterordnern, und der Zielordner zum kopieren der gefundenen Dateien wäre p:\PhotosII\ . Teil mir bitte auch noch mit, wie genau die Liste aussehen sollte und formatiert werden muss. Danke
3) Lefteous: Wie kann ich dein Plugin installieren ? Gibt es eine detaillierte Beschreibung ? Danke
Ich möchte eine Liste erstellen (zB. Textdatei photos.txt, die folgendermassen aussehen wird:
40356521P.jpg
42163651P.jpg
...(usw)
für tausende verschiedene, einzigartige Dateinamen. Jetzt möchte ich ein Verzeichnis mit zig Unterverzeichnissen nach diesen Dateien durchsuchen, es wäre schön wenn ich mir die Dateien dann in einem der Fenster anschauen kann, so wie es bei der Suche üblich ist, wenn man danach auf "Anwenden" clickt, sodass ich anschliessend die gefundenen Dateien in ein bestimmtes Verzeichnis kopieren kann. Es gibt keine doppelten Dateinamen, daher ist das völlig unproblematisch.
Meine Fragen/Kommentare sind jetzt:
1) @milo1012: Wenn ich es richtig verstehe, meinst Du eine Funktion mit der man eine Textdatei mit Liste von zu DURCHsuchenden Dateien angeben kann. Ich möchte die zu suchenden Dateien in der Liste angeben (also suchen NACH, nicht suchen IN). Wenn ich es nicht richtig verstanden habe, erklär mir bitte ahand meines Beispiels wie die Liste aussehen muss (+Format) und in welchem Feld ich sie angeben muss... danke.
2) @Stefan2: Gerne her mit dem Skript Beispiel für die Liste siehst Du oben, der zu durchsuchende Ordner wäre zB. p:\PhotosI\ (Mit zig Unterordnern, und der Zielordner zum kopieren der gefundenen Dateien wäre p:\PhotosII\ . Teil mir bitte auch noch mit, wie genau die Liste aussehen sollte und formatiert werden muss. Danke
3) Lefteous: Wie kann ich dein Plugin installieren ? Gibt es eine detaillierte Beschreibung ? Danke
Re: Wow schonmal danke für die Hilfe, kriegs aber noch nicht
Nimm die Datei die du jetzt hast, also die keine Pfade enthält,blumba wrote: Wenn ich es richtig verstehe, meinst Du eine Funktion mit der man eine Textdatei mit Liste von zu DURCHsuchenden Dateien angeben kann. Ich möchte die zu suchenden Dateien in der Liste angeben (also suchen NACH, nicht suchen IN). Wenn ich es nicht richtig verstanden habe, erklär mir bitte ahand meines Beispiels wie die Liste aussehen muss (+Format) und in welchem Feld ich sie angeben muss... danke.
und bearbeite nun mit einem Editor deiner Wahl mit Suchen und Ersetzen (*):
Code: Select all
<zu suchen in>*<das was bisher da stand>
Code: Select all
file1.txt
fileXXX.jpg
Code: Select all
c:\dir1\*file1.txt
c:\dir1\*fileXXX.jpg
Jetzt den Ort dieser Listendatei in TC laden,
indem du bei "Suchen in" einträgst:
Code: Select all
@c:\woauchimmer\listendatei.txt
(*)
in Notepad2mod würdest du z.B. nehmen:
Search String
Code: Select all
.*
Code: Select all
<zu suchen in>\*\0
TC plugins: PCREsearch and RegXtract
PowerShell: Finde Dateien aus Textliste und kopiere sie
PowerShell to the rescue:blumba wrote:2) @Stefan2: Gerne her mit dem Skript
Vorarbeiten für meinen Test:
Code: Select all
# Starte PowerShell
# Navigiere zu " C:\Temp"
# kopiere diesen Befehl in die PoSh-console:
# Step 1) create photos.txt file with filenames on each line:
1..9| ForEach{$out=""}{$Name=((Get-Random).toString()+".jpg"); $out+="$name`r`n"}{out-file -filepath photos.txt -inputobject $out}
# photos.txt:
# 536890584.jpg
# 327180028.jpg
# 928576273.jpg
# 1255905254.jpg
# .... usw
# Jetzt ein paar Ordner erstellen und Dateien mit Namen aus der photos.txt -Liste erstellen, dann Step 2 testen:
# Step 2) search for files:
$LIST=Get-Content photos.txt ;
dir -rec -inc *.jpg|ForEach{if($LIST -contains $_.name){"`#found: $_, will copy it now to p:\PhotosII\$($_.Name)"}}
#found: C:\TEMP\PS\date\04\928576273.jpg, will copy it now to p:\PhotosII\928576273.jpg
#found: C:\TEMP\PS\date\09\Archiv\sub\folder\327180028.jpg, will copy it now to p:\PhotosII\327180028.jpg
Die aktuelle Anfrage könnte daher so gelöst werden:
Code: Select all
# Step 3) search for files and copy to PhotosII:
# Starte PowerShell
# Navigiere zu " p:\PhotosI"
# kopiere diesen Befehl in die PoSh-console:
$LIST=Get-Content photos.txt ;
dir -recurse -include *.jpg | ForEach{if($LIST -contains $_.name){Copy $_ -Destination "P:\PhotosII" -WhatIf}}
# oder z.B. gleich umbenennen:
# dir -recurse -include *.jpg | ForEach{if($LIST -contains $_.name){Copy $_ -Destination "P:\PhotosII\$($_.Name+".Kopie.JPG")" -WhatIf}}
# Dieses "-WhatIf" ist die letzte Sicherung vorm wirklichen Kopieren.
# Wenn die Ausgabe "gut aussieht", kann es zum Scharfschalten entfernt werden.
2blumba
Nach der Installation kann man dann Textdateien anlegen, die dem Muster FileList_* entsprechen. Diese Dateien müssen sich im gleichen Ordner wie die Wincmd.ini befinden. In einer solchen Textdatei kann man dann die Dateinamen eintragen.
Möglicherweise muss man den TC danach neustarten, damit es funktioniert.
Installation über Doppelklick und dann den Anweisungen auf dem Bildschirm folgen.Wie kann ich dein Plugin installieren ? Gibt es eine detaillierte Beschreibung ? Danke
Nach der Installation kann man dann Textdateien anlegen, die dem Muster FileList_* entsprechen. Diese Dateien müssen sich im gleichen Ordner wie die Wincmd.ini befinden. In einer solchen Textdatei kann man dann die Dateinamen eintragen.
Möglicherweise muss man den TC danach neustarten, damit es funktioniert.
2Lefteous
Hallo, ich mache irgendwas falsch. Auch ich würde gerne mit deinem Tool / Plugin nach mehreren Dateien suchen.
Nur was muss ich auswählen und eintragen...
Ich füge mal ein Bild mit ein... [img]http://img5.fotos-hochladen.net/uploads/tcayn1hjx0dg.png[/img][/img]
sind die Eigenschaften und OP so richtig? In dem Wert kommt sicher die zu suchende Datei rein oder?
Hallo, ich mache irgendwas falsch. Auch ich würde gerne mit deinem Tool / Plugin nach mehreren Dateien suchen.
Nur was muss ich auswählen und eintragen...
Ich füge mal ein Bild mit ein... [img]http://img5.fotos-hochladen.net/uploads/tcayn1hjx0dg.png[/img][/img]
sind die Eigenschaften und OP so richtig? In dem Wert kommt sicher die zu suchende Datei rein oder?
2WinXP Commander
Was man auf deinem Bild nicht sieht, ist ob dort eine Einheit auswählbar ist. Ist dies nicht der Fall, dann befindet sich keine Datei "FileList_* im Ordner "Fille" unterhalb des Ordners, indem sich die Wincmd.ini befindet. Wenn es dann immer noch nicht, TC neu starten.
Ich weiß, das ist alles viel zu umständlich, aber es geht halt mit den derzeitigen Möglichkeiten, die derzeit in TC existieren, kaum besser.
Was man auf deinem Bild nicht sieht, ist ob dort eine Einheit auswählbar ist. Ist dies nicht der Fall, dann befindet sich keine Datei "FileList_* im Ordner "Fille" unterhalb des Ordners, indem sich die Wincmd.ini befindet. Wenn es dann immer noch nicht, TC neu starten.
Ich weiß, das ist alles viel zu umständlich, aber es geht halt mit den derzeitigen Möglichkeiten, die derzeit in TC existieren, kaum besser.
2Lefteous
Vielen dank das hat hervorragen funktioniert.
Mein Fehler war das ich den * mit geschrieben hatte,also so FileList_* und nicht so FileList_.txt.
Jetzt noch eine bitte, was muss ich tun / eingeben wenn ich "nur" nach mehrere Wörtern gleichzeitig suchen möchte...
z.B nach der, die, oder das usw.
Egal ob das in einem Titel (Musik/mp3) oder ein Namen zu einer Bilddatei ist. z.B heißt ein Bild die Kirche... ich möchte dann nach "die" suchen.
Ich hoffe ich hab mich verständlich machen können.
Die FileList_.txt
könnte ja dann so aus sehen
Die
Der
Das
Oder usw.
Nur da gehen ja nur ganz explizite Dateien min Endung
Vielen dank das hat hervorragen funktioniert.
Mein Fehler war das ich den * mit geschrieben hatte,also so FileList_* und nicht so FileList_.txt.
Jetzt noch eine bitte, was muss ich tun / eingeben wenn ich "nur" nach mehrere Wörtern gleichzeitig suchen möchte...
z.B nach der, die, oder das usw.
Egal ob das in einem Titel (Musik/mp3) oder ein Namen zu einer Bilddatei ist. z.B heißt ein Bild die Kirche... ich möchte dann nach "die" suchen.
Ich hoffe ich hab mich verständlich machen können.
Die FileList_.txt
könnte ja dann so aus sehen
Die
Der
Das
Oder usw.
Nur da gehen ja nur ganz explizite Dateien min Endung
Ja mit "Ist in Liste" gehen nur ganze Namen. Das lohnt sich eigentlich nur, wenn man öfters in einer großen, statischen Liste nach Dateien sucht.
Für die Artikelsuche würde ich einfach die eingebauten Felder nutzen. Also entweder:
tc.name contains 'der' or tc.name contains 'die' or tc.name contains 'das'
oder eben file.name contains SUCHBEGRIFF or ...
oder ganz profan: *der*;*die*;*das* direkt im Suchfeld eingeben
Für die Artikelsuche würde ich einfach die eingebauten Felder nutzen. Also entweder:
tc.name contains 'der' or tc.name contains 'die' or tc.name contains 'das'
oder eben file.name contains SUCHBEGRIFF or ...
oder ganz profan: *der*;*die*;*das* direkt im Suchfeld eingeben