Finden & kopieren Sie eine Zeichenfolge in einer Datei nur mit der Windows-batch

Rufe ich die Datei die ich suchen will in input.txt und die Zeichenfolge, die ich finden wollen mystring.

Beispiel Inhalt input.txt (real input.txt)

randomstring1<>"\/=:
randomstring2<ORIGINAL>mystring</ORIGINAL>randomstring3
  • mystring ist umgeben von den Streichern <ORIGINAL> und </ORIGINAL> müssen gesucht werden
  • Der string zwischen den beiden ORIGINAL-tags sollten in die Zwischenablage kopiert (mit | clip)
  • mystring und die tags nur einmal vorkommen. Aber Sie haben keine Feste position
  • alle Zeichenfolgen, die Sonderzeichen enthalten dürfen (<, >, ", \, /, =, 🙂

Lese ich viel andere Fragen aber um ehrlich zu sein: die FOR-Schleife und SET-Kommando syntax war zu umständlich für mich. Ich denke, meine beste Aufnahme wird der Befehl "FINDSTR". Aber vielleicht ist es auch möglich, mit etwas Hilfe von RegEx-Ausdrücken.

Ich tun nicht möchten, verwenden Sie VBscript, Powershell, SED, FURZ, AWK, grep oder andere zusätzliche tool.

Bitte seien Sie so freundlich und erklären Sie die schwierigen Teile wenn Sie nach einer Lösung.

Ich will es verstehen und vielleicht ist es hilfreich auch für andere.

Mein letzter Versuch, bevor ich aufgegeben habe, war diese test.cmd

@echo off
set "x=randomstring1<>"\/=:randomstring2<ORIGINAL>mystring</ORIGINAL>randomstring3"
set "x=%x:*<ORIGINAL>=%"
set "x=%x:</ORIGINAL>*=%"
set  x=%x:~2%
echo %x%
pause
  • 'die FOR-Schleife und SET-Kommando syntax war zu umständlich für mich – leider, werden viele features von Windows batch-scripting kann umständlich erscheinen. Einige von Ihnen halten uns peinlich, selbst nachdem Sie an Sie gewöhnt, vor allem wenn man weiß, wie viel einfacher/klarer Lösungen können in andere Skripting-tools oder Sprachen. Jedoch, die möglicherweise für Sie, die FOR /F-Schleife und die SET /P Zuordnung sind wohl die zwei grundlegendsten native Geräte für die Verarbeitung von text-Dateien Zeile für Zeile in die Windows-batch-scripting. Was bedeutet es für dich besser an Sie gewöhnen. 🙂 Und, wer weiß, könnten Sie wachsen schließlich auf Sie. 🙂
InformationsquelleAutor nixda | 2013-01-05
Schreibe einen Kommentar