Batch-Datei, welche ein Textfile editiert?

M

mymomo

Gast
Moin!

Ich habe hier letztens noch nach Hilfe in Richtung Textdateierstellung eines Verzeichnisbaums (Stichtwort: tree) gefragt und da wurde mir auch super weitergeholfen.

Nun würde mich interessieren, ob es möglich ist eine Batch zu erstellen, welche in diesen Textdateien nach vordefinierten Textstellen sucht und diese dann ebenfalls von mir vordefiniert editiert.
Mir geht es hier um Sonderzeichen ala ä, ö, ü und ß, welche allesamt verkehrt geschrieben werden. Diese würde ich gerne editieren lassen.

Geht das?
 
Start ausführen cmd

cmd /U

Jetzt deine Batch befehle

Dann schreibt er die Sonderzeichen richtig und exportiert sie auch korrekt in ne txt. Das was du machen willst kann man mit Batch zwar auch machen ist aber umständlich und Batch ist dafür auch nicht wirklich die richtige Sprache.
 
Zuletzt bearbeitet:
hierfür ist Notepad++ genau das richtige für dich.
Auch sehr einfach ist das ganze über den TotalCommander hier kann man auch merher Dateien nach strings durchsuchen


Gruß

Bernie
 
@revolution...
ich glaube ich stelle mich gerade ein wenig zu dämlich an^^...

meine batch lautet:
tree D:\_TEMP\_test /F /A > D:\_TEMP\_test\test.txt

für den test habe ich nun 4 files in diesem ordner, welche halt ä, ö, ü und ß heißen.
zusätzlich eine test.cmd welche obrigen inhalt hat.

wie und wo setze ich cmd /U ein?
 
Hm interessant eigentlich müsstest du nur cmd eingeben und dann in die CMD /U und anschließen einfach tree D:\_TEMP\_test /F /A > D:\_TEMP\_test\test.txt das eingeben. Nur irgendwie scheint tree das mit /U zu ignorieren sobald das in die txt gehen in der shell kriege ich die umlaute sauber angezeigt in der txt nur ". Auch die Codepages funktionieren alle nicht mit wenn ich das ergebniss in ne txt schreiben will.

Was bekommst du für ne Ausgabe?
 
die ausgabe, wenn ich meine ganz normale batch ausführe? hier:

Auflistung der Ordnerpfade fr Volume datenbank
Volumeseriennummer : 000000DE 340F:CC99
D:\_TEMP\_TEST
test.cmd
test.txt
„.txt
”.txt
.txt
á.txt

Es sind keine Unterordner vorhanden



wenn ich folgendes in der batch habe
cmd /U tree D:\_TEMP\_test /F /A > D:\_TEMP\_test\test.txt
bekomme ich als ausgabe:

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. Alle Rechte vorbehalten.

D:\_TEMP\_test>D:\_TEMP\_test>


die dos-box bleibt dann auch einfach offen...

mit
cmd /U
tree D:\_TEMP\_test /F /A > D:\_TEMP\_test\test.txt

geht einfach nur die dos-box auf und tree wird scheinbar gar nicht erst ausgeführt
 
Zuletzt bearbeitet von einem Moderator:
Ok ich bin aus der Übung und Batch is scheiße.

Das Script von dir tree D:\_TEMP\_test /F /A > D:\_TEMP\_test\test.txt macht genau das was es soll es schreibt ne ASCII Datei. Das Problem ist die normalen Windows Editoren können ASCII nicht richtig lesen gerade die Umlaute. Ich hab jetzt gut 2 Stunden probiert mir ist kein Weg eingefallen mit dem du mit nem Batch Script & Tree ne ANSI erstellen könntest die du mit normalen Editoren einfach lesen kannst.

So zu deinem Glück hab ich ne Lösung gefunden. Die Power Shell das ist eine einigermaßen vernünftige Scripte "Sprache" unter Windows.


tree D:\1 > D:\1\txt.txt

Das ganze in ne .ps1 Datei und dann kann man das ganze mit powersehll ausführen.


Und das hier kommt dann als txt.txt raus

Code:
D:\1
└───21
    └───22
        ├───ä
        ├───ö
        ├───ü
        └───ß


PowerShell dürfte ab 7 vorinstalliert sein bei Vista weis ich es nicht und XP müsstest du das nachinstallieren.
 
Zuletzt bearbeitet:
supi, das klappt...
da ich das script aber automatisch ausführen will (bei systemstart), war es noch einmal eine fummelei das erlauben zu lassen... dies ist vom system wohl standardmäßig nicht erlaubt und muss erst freigeschaltet werden...

per powershell (als admin) muss dazu Set-ExecutionPolicy Unrestricted ausgeführt werden, danach erst erlaubt windows die automatische ausführung (zb per autostart, taskmanager oder eben batch)...

funzt aber nun^^
 
Zurück
Oben