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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 244472
Url: https://administrator.de/forum/x-zeichen-am-anfang-einer-textdatei-entfernen-quasi-rand-wegnehmen-244472.html
Ausgedruckt am: 15.04.2025 um 21:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo Experiment626
Probier's mal so:
Bei mehrfachem Aufruf des Codes werden die Zeilen natürlich auch jedes mal um 10 Zeichen kürzer ...
Grüße
rubberman
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
)
Grüße
rubberman