23442
Goto Top

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?

Content-Key: 67517

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

Printed on: April 19, 2024 at 19:04 o'clock

Member: bastla
bastla Aug 30, 2007 at 16:57:39 (UTC)
Goto Top
Hallo chicken!

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%"  
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
Mitglied: 23442
23442 Sep 03, 2007 at 13:59:10 (UTC)
Goto Top
genial. funktioniert perfekt. danke!