23442
30.08.2007, aktualisiert am 03.09.2007
16074
2
0
Erste xy Zeichen jeder Zeile einer Datei löschen
Ich habe Textfile und möchte in jeder Zeile dieses Textfiles die ersten xy Zeichen löschen (nehmen wir an die ersten 20 Zeichen). Wie kann ich diese Problem mit einem Batchfile lösen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 67517
Url: https://administrator.de/contentid/67517
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo chicken!
Versuch es etwa so:
VBScript kann etwas besser mit bestimmten Sonderzeichen, leeren Zeilen etc umgehen als Batch - daher bietet es sich an, ein (temporäres) Script die eigentliche Arbeit machen zu lassen ...
Die Anführungszeichen um die Variablen herum sind nur bei Leerzeichen im Namen/Pfad der Datei erforderlich - da sie aber auch nicht stören, habe ich mir angewöhnt, sie zur Vorsicht zu setzen.
Grüße
bastla
Versuch es etwa so:
@echo off & setlocal
set xy=20
set "Alt=D:\TextLang.txt"
set "Neu=D:\TextKurz.txt"
set "Cut=%temp%\Cut.vbs"
echo Set fso=CreateObject("Scripting.FileSystemObject"):aL=Split(fso.OpenTextFile(WScript.Arguments(0),1).ReadAll,vbCrLF)>"%Cut%"
echo Set N=fso.OpenTextFile(WScript.Arguments(1),2,-1):P=WScript.Arguments(2)+1:For Each sL In aL: N.WriteLine Mid(sL,P):Next:N.Close>>"%Cut%"
cscript //nologo "%Cut%" "%Alt%" "%Neu%" %xy%
del "%Cut%"
Die Anführungszeichen um die Variablen herum sind nur bei Leerzeichen im Namen/Pfad der Datei erforderlich - da sie aber auch nicht stören, habe ich mir angewöhnt, sie zur Vorsicht zu setzen.
Grüße
bastla