23442
Aug 30, 2007, updated at Sep 03, 2007 (UTC)
15898
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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 67517
Url: https://administrator.de/contentid/67517
Printed on: April 29, 2024 at 15:04 o'clock
2 Comments
Latest comment
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