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-ID: 67517

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

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

bastla
bastla 30.08.2007 um 18:57:39 Uhr
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
23442
23442 03.09.2007 um 15:59:10 Uhr
Goto Top
genial. funktioniert perfekt. danke!