delvar

Ändern von Textzeilen mit vorgegebenem Muster (Batchfile?)

Hallo erstmals,

ich bin der Georg und dies ist mein erster Beitrag hier. Google hat mich auf einen Beitrag hier verlinkt der ein ähnliches, aber nicht gleiches Problem gelöst hat, darum hab ich mir gedacht, kann mir vielleicht auf geholfen werden face-smile

Folgendes Problem:

Ich hab in einem Textfile folgende commands:

set-workspace-index
change-phase-status
set-plot-option
etc.

Es gibt so um die 100 oder mehr Befehle dieser Art.
Ich würde nun gerne nur die ersten buchstaben nach jedem Bindestrich haben (sind ebenso zulässig als befehl):

s-w-i
c-p-s
s-p-o
etc.

Ist dies möglich, bzw. mit einem simplen Batchfile oder gar Excel zu schaffen?

Hoffe die Frage ist klar so wie sie ist face-smile

LG
-G
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 174476

Url: https://administrator.de/forum/aendern-von-textzeilen-mit-vorgegebenem-muster-batchfile-174476.html

Ausgedruckt am: 29.06.2025 um 07:06 Uhr

Friemler
Friemler 11.10.2011 um 14:37:24 Uhr
Goto Top
Hallo delvar,

solange die Befehle immer aus 3 durch Minuszeichen voneinander getrennten Teilen bestehen und keine Sonderzeichen (<>|&") enthalten, könnte das so gehen:

@echo off & setlocal


set "InFile=test.txt"  
set "OutFile=out.txt"  


for /f "usebackq tokens=1-3 delims=-" %%a in ("%InFile%") do (  
  set "Part1=%%a"  
  set "Part2=%%b"  
  set "Part3=%%c"  
  call :ProcessLine
)

exit /b


:ProcessLine
  >>"%OutFile%" echo %Part1:~0,1%-%Part2:~0,1%-%Part3:~0,1%  
exit /b


Gruß
Friemler
delvar
delvar 11.10.2011 um 14:46:38 Uhr
Goto Top
Wow, perfekt!

Also das war genau das was ich wollte.

Und nein, es sind nicht immer 3 Minuszeichen. Aber ich habe einfach den dadurch entstandenen Fehler, der ja immer der selbe ist, durch Textpad "Suchen" -> "Ersetzen durch" behoben.

Also danke vielmals für das Problem.

Ich setz den Thread auf "Fehler behoben".

Danke und schönen Tag
Georg