experiment626
Goto Top

X Zeichen am Anfang einer Textdatei entfernen (quasi Rand wegnehmen)

Hallo,
ich habe Textdateien, die einen linken Rand haben, sagen wir 10 Zeichen.
Das Dokument hat Absätze also auch Leerzeilen.

Ich hatte es etwas hinbekommen mit echo und :~10, aber immer wenn
die Lehrzeilen kamen, stand vom Echo dies ECHO ist eingeschlaftet (ON)
oder so ähnlich.
Die Leerzeilen sollen natürlich genauso wiedergegeben werden, der Rand
soll verschwinden.
Nun hatte ich hin und her gewurstet, jetzt hab ich nichts brauchbares mehr.

Die Dateien liegen immer im gleichen Ordner, tragen .txt und beginnen
alle gleich (Bef*.txt)

Für Euch ist das Problem vermutlich lachhaft, aber leider fehlt mir auf
Arbeit die Zeit, mich intensiver mit den Batch-Feinheiten zu beschäftigen.

Vielen Dank für Eure Hilfe.

Stitch

Content-Key: 244472

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

Printed on: April 18, 2024 at 02:04 o'clock

Member: rubberman
Solution rubberman Jul 23, 2014 updated at 18:19:59 (UTC)
Goto Top
Hallo Experiment626

Probier's mal so:
@echo off &setlocal
for /f "delims=" %%i in ('dir /a-d /b Bef*.txt') do (  
  set "file=%%i"  
  set "tmpfile=%temp%\%%~ni.tmp"  
  setlocal EnableDelayedExpansion
  <"!file!" >"!tmpfile!" (  
    for /f %%j in ('type "!file!"^|find /c /v ""') do for /l %%k in (1 1 %%j) do (  
      set "line=" &set /p "line="  
      if defined line (
        echo(!line:~10!
      ) else (
        echo(
      )
    )
  )
  move /y "!tmpfile!" "!file!"  
  endlocal
)
Bei mehrfachem Aufruf des Codes werden die Zeilen natürlich auch jedes mal um 10 Zeichen kürzer ...

Grüße
rubberman
Member: colinardo
Solution colinardo Jul 23, 2014 updated at 18:20:07 (UTC)
Goto Top
Moin Stitch,
folgendes sollte auch hinhauen:
@echo off &setlocal
for %%x in ("C:\Ordner\Bef*.txt") DO @(  
	(for /f "tokens=1* delims=: " %%a in ('type "%%x" ^| findstr /n "^"') DO echo(%%b))>"%%~dpnx_korrigiert%%~xx"  
)
Grüße Uwe
Member: Experiment626
Experiment626 Jul 23, 2014 at 18:10:21 (UTC)
Goto Top
Hallo rubberman,
vielen Dank für die rasche Hilfe.
Funktioniert tadelos, so wie es sein sollte.

Schönen Feierabend und nochmals danke.
Member: Experiment626
Experiment626 Jul 23, 2014 at 18:18:15 (UTC)
Goto Top
Hallo Uwe,
auch Dir vielen Dank für die schnelle Hilfe. Funktioniert an sich auch nicht schlecht, hat aber einen kleinen Schönheitsfehler.
Die Dokumente haben zum Teil Textelemente, die rechts ausgerichtet sind und links nichts am Anfang der Zeile stehen haben,
so dass hier die rechtsorientierten Elemente an den linken Anfang gezogen werden.

Das Script von rubberman hingegen macht es genau - aber ich werde auch Dein superkurzes Script in meine Sammlung aufnehmen.

Dir auch auch einen schönen Feierabend.