xdrxdr
Goto Top

Datein in .txt umwandeln, im Inhalt der .txt Dateien suchen und anschliessend in das Ursprünglich Format zurück konvertieren

Hallo zusammen.

Ich habe da ein, sagen wir es mal, seltsames Problem. Vielleicht gibt es auch eine andere Möglichkeit aber das wäre hier so mein Ansatz. Bin natürlich dahingegen für alles offen.

Wir bekommen Daten zugeschickt die Beispielsweise r43434w.1 heißen. In diesen Dateien kann ich aber nicht nach Inhalten suchen. Daher wandel ich diese dateien per "ren r*.1 r*.txt in der Dos Box um. Nun kann ich im Windows Explorer die Textinhalte dieser Dateien nach bestimmten Bausteinen durchsuchen.
Wenn ich das entsprechende Dokument gefunden habe und die Suche abgeschlossen ist sollen diese Datei wieder in das alte Format gebracht werden, sprich den ganzen weg rückwärts.
Nun Suche ich nach einer Art Batchfile dem ich sage :

1.) " Konvertiere aus dem Verzeichniss c:\test alle Dateien die mit r anfangen und mit .1 aufhören in das txt Format."
2.) "Jetzt sollte ein Feld aufgehen in dem ich in diesem Verzeichniss die .txt Dateien durchsuche.
3.) " Habe ich meine suche abgeschlossen, nur ein Klick oder Enter und die Dateien werden wieder in das Ursprungsformat gebracht"

Denke mal das man per Batch zwischen 2.) und 3.) eine Pause einlegt und wenn die suche abgeschlossen ist einfach eine Taste und das Batchfile läuft durch.
Leider bin ich nicht wirklich Firm dadrin was Batchprogrammierung angeht.
Dazu gesagt werden muss noch, dass die Dateien immer im selber Verzeichniss liegen.

Greetz

Xdrxdr

Content-ID: 146322

Url: https://administrator.de/contentid/146322

Ausgedruckt am: 26.11.2024 um 12:11 Uhr

bastla
bastla 06.07.2010 um 12:39:45 Uhr
Goto Top
Hallo xdrxdr und willkommen im Forum!

Wenn die Dateien doch offensichtlich als Text vorliegen, wozu dann der Umweg über das Umbenennen? Versuch es mal so (ist ungetestet):
@echo off & setlocal
set "Verzeichnis=D:\Deine Dateien"  
set "Maske=r*.1"  

pushd "%Verzeichnis%"  
set /p Suchtext=Bitte Suchtext eingeben: 
echo\
findstr /i /m /c:"%Suchtext%" %Maske%  
popd
pause
Grüße
bastla
Connor1980
Connor1980 06.07.2010 um 12:44:41 Uhr
Goto Top
Hallo,

erstmal, das ist kein Konvertieren sondern lediglich ein umbennen der Dateinamenerweiterung. Eine Konvetierung würde soetwas beinhalten wie von ASCII nach ANSI zu wandeln o.ä. face-wink

Von daher kannst du Dateien theoretisch auch mit jedem Texteditor öffnen.
Vom Prinzip her solltest du dir mal "findstr" anschauen, mit einer Schleife in eine Batchdatei (dafür gibts es hier im Forum diverse Beispiele, speziell von bastla oder biber, wenn die sich nicht eh noch melden face-wink ) und Ausgabe in ein Textfile sollte das funktionieren. Kommt natürlich noch darauf an, was du suchst, ob der Textbaustein variieren kann.

Hoffe damit schonmal einen Ansatz gegeben zu haben.

Grüße

EDIT: :D sag ich ja, bastla meldet sich und ich bin wieder Mal zu langsam.
xdrxdr
xdrxdr 06.07.2010 um 13:18:37 Uhr
Goto Top
HEy Ho.

Das ging ja fix. Vielen Dank. Soweit ist es erstmal daswonach ich gesucht habe. Werde es mal im Tagesbetrieb testen und dann meine Ergebnisse mitteilen. Vielleicht benötige ich nochmals Eure Hilfe ( bestimmt ;) )

Danke erstmal soweit
Biber
Biber 06.07.2010 um 13:25:21 Uhr
Goto Top
Moin Xdrxdr,

willkommen im Forum.

Unabhängig von den Batch/Findstr-Strategien ohne Unbenennen, die wie aufgezeigt zum Ziel führen, noch eine Anmerkung.

Das die Windows-Suche nicht in Dateien mit (in deinem Fall) der Endung "*.1" suchen mag, liegt auch nur an der Tatsache, dass wieder keiner der Windows-Suche "gesagt" hat, dass diese Dateien auch nur simple Textdateien sind.

Kannst du ihr aber sagen.

Tipp:Bestimmte Dateitypen in die Suche einschließen
  • unter HKEY_CLASSES_ROOT den Unterschlüssel "PersistentHandler" des entsprechenden Dateityps editieren/anlegen
  • folgende Zeichenfolge eingeben: {5E941D80-BF96-11CD-B579-08002B30BFEB}.
  • Diese Class-ID weist Windows an, nach einem Neustart für diesen Dateityp den Suchfilter für Textdateien anzuwenden.

Kannst du für *.1-Dateien machen oder genauso sinnvoll bei +.css, *.html, *.Inf-Dateien, um nur ein paar zu nennen.

[Und wie immer OT bei diesem Thema]
Zitat von @Connor1980:
Hallo,

erstmal, das ist kein Konvertieren sondern lediglich ein umbennen der Dateinamenerweiterung.
Stimmt, es ist kein umbennen. *Seufz*
Set /a rgc+=1
689
[/Und wie immer OT bei diesem Thema]

Grüße
Biber