Datenstruktur unter einer bestimmten Ebene löschen

German support forum

Moderators: Hacker, Stefan2, white

User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Datenstruktur unter einer bestimmten Ebene löschen

Post by *Peter »

Ich habe eine systematische Verzeichnisstruktur nach folgendem Schema:

Code: Select all

Projekt_0123\
                    Verz_1\...
                    Verz_2\...
                    Verz_3\...
                    Verz_4\...
                    Datei1.txt
                    Datei2.txt
                    Datei3.txt

Projekt_0567\
                    Verz_1\...
                    Verz_2\...
                    Verz_3\...
                    Verz_4\...
                    Datei1.txt
                    Datei2.txt
                    Datei3.txt
Jetzt muss ich von den 1000 Gesamtprojekten ca. 300 so löschen, dass unter den genannten Verzeichnissen alles gelöscht werden soll (sozusagen die Punkte ... oben). Die oben beschriebene "Oberstruktur" muss aber bleiben.

Geht das einfacher, als sich mit Batch usw. herumzuschlagen?

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
Dalai
Power Member
Power Member
Posts: 10003
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Branchansicht mit benutzerdefinierter Spaltenansicht, die den enthaltenden Ordner anzeigt, sollte hier genügen.

Nochmal etwas länger erklärt: Strg+B drücken, benutzerdef. Spaltenansicht erstellen, die das Verzeichnis anzeigt (weil in der Zweigansicht keine Verzeichisse zu sehen sind), dann nach Verzeichnissen sortieren. Dann kannst du markieren und löschen.

EDIT: Noch eine Möglichkeit, falls du eine (aktuelle) Kopie der Struktur hast: Synchronisierung verwenden. Also einen Vergleich anstoßen, die zu löschenden Projekte suchen und dann löschen per rechter Maustaste; die Struktur bleibt dabei erhalten.

HTH
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
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Dalai wrote:Branchansicht mit benutzerdefinierter Spaltenansicht, die den enthaltenden Ordner anzeigt, sollte hier genügen....
Ich kann es jetzt nicht probieren, aber ich bin nicht sicher, ob das klappt, weil

- mir in der Zweigansicht 1000 Projekte mit 100.000 Dateien aufgehen
- ich dann 1000 mal das gleiche Unterverzeichnis "Verz_1" sehe
- ich nicht "Verz_1" löschen will, sondern alles darunter - und das hat keine Systematik mehr.

Vielleicht denke ich auch falsch?

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
Dalai
Power Member
Power Member
Posts: 10003
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Peter wrote:- ich dann 1000 mal das gleiche Unterverzeichnis "Verz_1" sehe
Nein, die Zweigansicht zeigt ausschließlich Dateien, deswegen ja auch die benutzerdef. Spaltenansicht mit dem Verzeichnis, in dem sich die Dateien befinden.

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
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

:arrow: FileX 1.7 runterladen und installieren.

:arrow: Alt+F7 Suche:
Plugins wrote:[x] Suchen in Plugins
[Filex] [Vaterverzeichnis] [enthält] [Verz_]
bei Bedarf mehr Regeln wie:
[Filex] [Großvaterverzeichnis] [enthält] [Projekt_]
hinzufügen

:arrow: Anwenden

:arrow: Kontrollieren, Markieren, Löschen

HTH,
Holger
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Danke an beide.

Die "Grossvaterabfrage" klingt recht interessant, aber wie ich das 300 x wiederholen kann muss ich noch klären.

Vielleicht so:
- suche in 1000 Projekten, wo in "Datei1.txt" das Wort "Müller" enthalten ist
- suche in den Ergebnissen mit der Grossvaterlogik ...

Ich bin gespannt auf die nächsten Tage (leider auch noch anderes dringendes zu tun)

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Peter wrote:...
- suche in den Ergebnissen mit der Grossvaterlogik ...
Erste Erkenntnis: Die "Tiefenstufe" (depth Level) ist der bessere Ansatz ...

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Peter wrote:Die "Grossvaterabfrage" klingt recht interessant, aber wie ich das 300 x wiederholen kann muss ich noch klären.
Das war nur als zusätzliche Sicherheitsabfrage gedacht, um zu verhindern das z.B.
"Projekt_0567\Verz_1\Verz_Sonstwas\...." gefunden wird.

Einfacher:

Du gehst in die Eben mit den Projekten und markierst die 300 aus den 1000 Projekten in denen die "Verz_N" Verzeichnisse geleert werden sollen.

Entweder manuell, oder über "Markieren->Auswahl aus Datei laden"
Auswahl.txt wrote:Projekt_0123\
Projekt_0567\
uswusf...
Die <Alt+F7> Suche ist dann automatisch auf die markierten Verzeichnisse beschränkt. :!:
Erste Erkenntnis: Die "Tiefenstufe" (depth Level) ist der bessere Ansatz ...
Bitte erkären!
"filex.Tiefenstufe"?
Wenn ja, Warum?

Die Suchtiefe kannst du auch mit
Tab Allgemein wrote:Unterverzeichnisse durchsuchen: [2Ebene(n) [v]]
einschränken, und gleichzeitig mit
Tab Erweitert wrote:Attribute: ... [ ] Verzeichnisse ...
einstellen, dass nur Dateien und keine Unterverzeichnisse gefunden werden.

Die Bedingung:
Tab Plugins wrote:[Filex] [Vaterverzeichnis] [enthält] [Verz_]
kann auch mittels regex etwas exakter erklärt werden:
Tab Plugins wrote:[Filex] [Vaterverzeichnis] [ regex ] [ Verz_[1234] ]
Gruß
Holger
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

HolgerK wrote:...Die <Alt+F7> Suche ist dann automatisch auf die markierten Verzeichnisse beschränkt. :!:...
Kann jetzt ein paar Minuten einschieben, Detailbericht folgt später, aber ....


derzeit hänge ich an der ersten Stufe - "regex" im Text suchen (alle 10 Monate ein regex-Ausdruck ist doch sehr wenig Übung, auch für einfacheres..)

Ich habe Textdateien, in denen steht
Gestarted: bla bla 23.3.2004 bla bla
oder
Gestarted: 15.12.2006
oder
Started: bla bla 01.01.2007

Aufgabe:
Suche alle Textdateien, die einen Satz enthalten, der zuerst "started" und dann 2004 oder 2005 oder 2006 oder 2007 enthält.

Die Oder-Abfragen kann ich ja per TC-Suchmenü erledigen, aber derzeit :?: :?:

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Peter wrote:Aufgabe:
Suche alle Textdateien, die einen Satz enthalten, der zuerst "started" und dann 2004 oder 2005 oder 2006 oder 2007 enthält.
Ich glaube, ich habe es (Der Punkt hat gefehlt ...)

Code: Select all

started.*(2004|2005|2006|2007)
TC 10.xx / #266191
Win 10 x64
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Oder so (regex):

Code: Select all

.*Started:.*\.200[4567]{1}
oder am Zeilenanfang:

Code: Select all

^Started:.*\.200[4567]{1}
BTW Gestarted :!: :?:

Gruß,
Holger
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

Die Sache ist noch nicht ausgelitten ...
Peter wrote:Ich glaube, ich habe es (Der Punkt hat gefehlt ...)

Code: Select all

started.*(2004|2005|2006|2007) 
Das ist leider ein Irrtum, weil hier über das Zeilenende hinaus gesucht wird und damit Jahreszahlen aus falschen Zeilen gefunden werden. Auch das hilft nicht:

Code: Select all

^.*started.*(2004 |2005|2006|2007).*$
HolgerK wrote:

Code: Select all

.*Started:.*\.200[4567]{1}
Das dauert teilweise sehr lang (steht ruhig - dann läuft es - steht ...??), und bringt auch Werte "2008", die in den Folgezeilen stehen.
HolgerK wrote:oder am Zeilenanfang:

Code: Select all

^Started:.*\.200[4567]{1}
Zeilenanfang geht nicht, weil es dort nicht steht (die führenden Leerstellen sind in meinem Beispiel oben leider verschwunden.)

HolgerK wrote:BTW Gestarted :!: :?:
Programm war ursprünglich in Englisch, wurde auf Deutsch umgebaut, die Fehler zuerst übersehen und dann wegen "Worteinheitlichkeit" belassen.

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Peter wrote:
HolgerK wrote:

Code: Select all

.*Started:.*\.200[4567]{1}
Das dauert teilweise sehr lang (steht ruhig - dann läuft es - steht ...??), und bringt auch Werte "2008", die in den Folgezeilen stehen.
Zitat aus "Das Fünfte Element": "Zeit spielt keine Rolle, das einzige was zählt ist das Finden!".... :wink:
HolgerK wrote:oder am Zeilenanfang:

Code: Select all

^Started:.*\.200[4567]{1}
Zeilenanfang geht nicht, weil es dort nicht steht (die führenden Leerstellen sind in meinem Beispiel oben leider verschwunden.)
Wie wäre es dann mit

Code: Select all

(?i)^\s*g*?e*?started:.*\.200[4567].*$
Gruß
Holger
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

und weiter gehts:

Ich habe die Inhaltsplugins "Filecontent" und "Filedescription" verglichen:

File Description hat überhaupt nie ein Ergebnis gebracht. (??)

Filecontent:
Kein Ergebnis:

Code: Select all

(?i)^\s*g*?e*?started.*\.200[4567].*$

Code: Select all

^.*g*?e*?started.*\.(2004|2005|2006|2007).*$
Weniger als oben, aber noch immer zuviel:

Code: Select all

^.*g*?e*?started.*\.200[4567].*$

Code: Select all

^.*g*?e*?started.*\.2004.*$
^.*g*?e*?started.*\.2005.*$
^.*g*?e*?started.*\.2006.*$
^.*g*?e*?started.*\.2007.*$
Es ist anscheinend das Zeilenende ein Problem ...

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Was wird gefunden wenn du nicht per Regex in den Plugins suchst, sonder im ersten Tab "Allgemeines"
Allgemeines wrote:Suche nach: [ *.txt ] (oder wie immer auch die richtige Extension heißt)
...
[X] Text suchen: [ (?i)^\s*g*?e*?started:.*\.200[4567].*$ ]
[X] Reg. Ausdruck (RegEx 2)

Vielleicht haben wir uns da missverstanden.
Ich meinte, dass diese Fundstücke die Liste der Verzeichnisse liefern kann, die bereinigt werden sollen.
Siehe weiter oben :
HolgerK wrote:Einfacher:

Du gehst in die Eben mit den Projekten und markierst die 300 aus den 1000 Projekten in denen die "Verz_N" Verzeichnisse geleert werden sollen.

Entweder manuell, oder über "Markieren->Auswahl aus Datei laden"
Auswahl.txt wrote:Projekt_0123\
Projekt_0567\
uswusf...
Die <Alt+F7> Suche ist dann automatisch auf die markierten Verzeichnisse beschränkt. :!:
Die Liste muss im Text Editor angepasst werden (alle Pfadbestandteile unterhalb der ersten Ebene entfernen).
Danach kommt die zweite Suche mit dem Vaterverzeichnis zum Zuge, mit der dann die zu löschende Dateien in der zweiten Ebene gefunden werden.

Gruß,
holger
Post Reply