Bestimmten Abschnitt aus einer Text-Datei kopieren
Hallo Zusammen,
Ich bin CNC-Programmierer und bräuchte unterstützung bei der Umsetzung meines Vorhabens.
Beim übertragen aller CNC-Programme auf den Rechner, erstellt die Software eine Textdatei wo dann alle CNC-Programme hintereinander reingeschrieben werden.
Jedes CNC Programm beginnt mit dem Programmnamen "$Programmname%".
Jetzt möchte ich jedes CNC-Programm in eine Seperate Datei abspeichern. Dateiname = Programmname ohne Sonderzeichen $%.
Ist das umsetzbar?
Beispiel:
Edit:
Ich möchte das über ein Batch-Programm laufen lassen.
Ich bin CNC-Programmierer und bräuchte unterstützung bei der Umsetzung meines Vorhabens.
Beim übertragen aller CNC-Programme auf den Rechner, erstellt die Software eine Textdatei wo dann alle CNC-Programme hintereinander reingeschrieben werden.
Jedes CNC Programm beginnt mit dem Programmnamen "$Programmname%".
Jetzt möchte ich jedes CNC-Programm in eine Seperate Datei abspeichern. Dateiname = Programmname ohne Sonderzeichen $%.
Ist das umsetzbar?
Beispiel:
$SPWE18937HART3.MIN% ;Programmname
(15MM LAENGE WEGPLANEN AM D=25MM)
(SPANNEN AUF D=60.0MM IN AUSGEDR. BACKEN)
N1G50S1500
N2G00X600Z500
NT1( WNT CNMG 120408EN-42 CWN2135 )
N3G97S420T010101M42M03M08F0.3
-
-
-
N23G00X600Z500
N24M02
%$SPWE18937HART4.MIN%
( SPANNEN WIE VORHERIGES PROGRAMM )
( SPITZE CA. 111MM VOR WERKSTUECK POSITIONIEREN )
N1G50S1500
N2G00X600Z500
NT1 ( WNT CNMG 120408EN-42 CWN2135 )
N3G96S100T010101M42M03M08F0.3
N4G00X63Z-382.2
-
-
-
N75G00X100M9
N76G00X600Z500
N77M02
%$M6.MIN%
N1G50 S2000
N2G00 X500 Z500
-
-
-
N78G00X600Z500
N79M02
%% ;Am Ende der Datei
Edit:
Ich möchte das über ein Batch-Programm laufen lassen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1409724981
Url: https://administrator.de/forum/bestimmten-abschnitt-aus-einer-text-datei-kopieren-1409724981.html
Ausgedruckt am: 23.04.2025 um 14:04 Uhr
1 Kommentar
Moin,
Darf es auch ein wenig Powershell sein? Ich habe das jetzt nach Deinem Text geschrieben. Wenn das Beispiel stimmt, dann ist das auch kein Problem. Dann muss nur die Regex und der Dateiname angepasst werden.
hth
Erik
Zitat von @ErichR:
Jedes CNC Programm beginnt mit dem Programmnamen "$Programmname%".
Jedes CNC Programm beginnt mit dem Programmnamen "$Programmname%".
> $SPWE18937HART3.MIN% ;Programmname
Hier steht es so, wie im Text beschrieben.
> %$SPWE18937HART4.MIN%
Und hier steht noch ein % davor.
> %$M6.MIN%
Und hier auch.
>
Ich möchte das über ein Batch-Programm laufen lassen.
Darf es auch ein wenig Powershell sein? Ich habe das jetzt nach Deinem Text geschrieben. Wenn das Beispiel stimmt, dann ist das auch kein Problem. Dann muss nur die Regex und der Dateiname angepasst werden.
PARAM (
$data = "e:\test\programmnamen\beispiel.txt",
$outputpath = "e:\test\programmnamen\"
)
$aktfile = ""
$file = get-content $data
foreach($line in $file) {
if($line -match "^\$.*%$") {
$aktfile = $outputpath + $line.TrimStart("$").trimEnd("%")
$line | Out-File $aktfile -append -encoding utf8
}
else {
$line | Out-File $aktfile -append -encoding utf8
}
}
hth
Erik