Benutzerdefinierte Spalte mit Ja/Nein je nach Textinhalt

German support forum

Moderators: Hacker, Stefan2, white

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

Benutzerdefinierte Spalte mit Ja/Nein je nach Textinhalt

Post by *Peter »

Wir haben immer wieder die Suche "Suche die Dateien, in denen 'Test' nicht enthalten ist."

Als Suche ist das ganz klar, aber könnte man das nicht auch als Benutzerdefinierte Spalte mit "Ja/Nein" - Anzeige lösen?
Mit Standardbefehlen?
Mit Script-Plugin? (und Script ...)
gar nicht ..?

Danke

Peter
TC 10.xx / #266191
Win 10 x64
User avatar
ZoSTeR
Power Member
Power Member
Posts: 1050
Joined: 2004-07-29, 11:00 UTC

Post by *ZoSTeR »

Das geht zB mit regexp_wdx. Ich nehme an "Test" steht im Dateinamen und nicht im Inhalt der Datei.

regexp.ini

Code: Select all

[Regexp]
Rule=TestFinden

[TestFinden]
Find="(test)"
Change="TEST-GEFUNDEN"
Substitute=1
Others=0
Falls im Inhalt gesucht werden soll, ginge dies mit TextSearch
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

ZoSTeR wrote:...Ich nehme an "Test" steht im Dateinamen und nicht im Inhalt der Datei....
Doch, es geht um den Dateiinhalt.
ZoSTeR wrote:...Falls im Inhalt gesucht werden soll, ginge dies mit TextSearch
Das Plugin selbst kenne ich und habe es auch in der Suche eingesetzt. Nur in den Spalten klappt es nicht. Oder muss ich hier mit dem genannten Reg_Ex.wdx verknüpfen?

Peter
TC 10.xx / #266191
Win 10 x64
JOUBE
Power Member
Power Member
Posts: 1675
Joined: 2004-07-08, 08:58 UTC

Post by *JOUBE »

Mit dem "Script Content Plugin 0.2.0.0" ( http://www.totalcmd.net/plugring/script_wdx.html ) ist so etwas möglich. Zum Beispiel etwa so [1]:

Script.ini:

Code: Select all

[Script]
Section=TextIstEnthalten

[Defaults]
LongName=1
ParseDirs=0

[TextIstEnthalten]
Script=TextIstEnthalten.vbs
TextIstEnthalten.vbs:

Code: Select all

Dim fso, tf, s
content = "  "
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
sExt = lcase(fso.GetExtensionName(filename))
Select Case sExt
  Case "txt", "ini", "cfg"
    Set tf = fso.OpenTextFile(filename, ForReading)
    s = tf.read(2000)
    tf.Close
    searchtxt = "test"
    if InStr(s, searchtxt) > 0 then
       content = "Ja"
    End if
End Select
set tf=nothing
set fso=nothing
In einer benutzerdefinierten Spalte gibt man dann als Feldinhalt

Code: Select all

[=script.Result]
an.

HTH

JOUBE

[1] Die ersten (maximal) 2000 Zeichen von txt-, ini- und cfg-Dateien werden im Beispiel nach dem Vorkommen des Texts 'test' durchsucht.
Last edited by JOUBE on 2011-06-05, 20:49 UTC, edited 2 times in total.
User avatar
Peter
Power Member
Power Member
Posts: 2068
Joined: 2003-11-13, 13:40 UTC
Location: Schweiz

Post by *Peter »

JOUBE wrote:Mit dem "Script Content Plugin 0.2.0.0" ( http://www.totalcmd.net/plugring/script_wdx.html ) ist so etwas möglich. ...
Ja, setze ich schon länger ein.
JOUBE wrote:...TextIstEnthalten.vbs:...
Werde ich morgen testen - vielen Dank.

Peter
TC 10.xx / #266191
Win 10 x64
JOUBE
Power Member
Power Member
Posts: 1675
Joined: 2004-07-08, 08:58 UTC

Post by *JOUBE »

Peter wrote:Werde ich morgen testen
Danach eine Rückmeldung hier nützt dann auch anderen.

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

Post by *Peter »

Klappt bestens, danke. Eine kleine Modifikation habe ich eingebaut - das Wort muss am Zeilenanfang stehen, darum habe ich den Zeilenwechsel mitdefiniert:

Code: Select all

 searchtxt = vbCrLf & "test"
Danke nochmals

Peter
TC 10.xx / #266191
Win 10 x64
JOUBE
Power Member
Power Member
Posts: 1675
Joined: 2004-07-08, 08:58 UTC

Post by *JOUBE »

Peter wrote:Eine kleine Modifikation habe ich eingebaut - das Wort muss am Zeilenanfang stehen, darum habe ich den Zeilenwechsel mitdefiniert:

Code: Select all

 searchtxt = vbCrLf & "test"
So darf es dann aber nicht das erste Wort in der Datei sein, aber das ist ja klar. Vermutlich/hoffentlich/sicher sind auch die anderen Einschränkungen im Script (nur innerhalb der ersten 2000 Zeichen in jeder Datei wird gesucht, die Suche beschränkt sich auf die Dateien mit den in der Liste aufgeführten Erweiterungen) den speziellen Erfordernissen angepasst worden.

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

Post by *Peter »

JOUBE wrote:... Vermutlich/hoffentlich/sicher sind auch die anderen Einschränkungen im Script .... den speziellen Erfordernissen angepasst worden. ....
Ja, das ist so. Ein bißchen Copy&Paste kann ich, aber das ganze VBS hätte ich nicht geschafft.

Danke nochmals

Peter
TC 10.xx / #266191
Win 10 x64
Post Reply