2 feste Wörter in Text-Datei einfügen und Line Feed aus dieser datei entfernen
Morgen
ich habe 2 kleine Fragen.
1. ich muss per Batch eine Textdatei erstellen aus Daten, die in einem Verzeichnis stehen.
Die Namen, die immer variieren, werden in diese Text-Datei geschrieben. Das klappt soweit.
So, nun müssen aber bei der Verarbeitung bzw. Erstellung der Text-Datei 2 feste Wörter eingefügt werden.
Program und Modul wären die beiden festen Wörter, die als erstes eingetragen werden und dann halt die Namen, die aus dem entsprechend angegebenen Verzeichnis mit eingefügt werden.
2. es muss mit Tabstob getrennt sein bzw. muss ein tabstob dazwischen sein.
Sieht dann aus wie eine zweispaltige Tabelle.
Wichtig, es darf nur am Ende der jeweiligen Zeile ein Carriage Return () stehen.
Ein Line Feed (LF) darf nicht vorhanden sein, da diese Text-Datei weiterverarbeitet werden muss.
Aktuell füge ich die beiden Festen Wörter händisch an den Anfang ein und entferne den Line Feed.
Vorab vielen Dank für Eure Unterstützung.
Leider kenne ich mich im Batch o. Power Shell noch nicht aus. Hab auch etwas Probleme damit.
Es wurde mir schon geholfen mit dem Schritt, die text-datei zu erstellen.
dafür danke.
Nur leider muss ich noch 2 feste Wörter am ANFANG einfügen und nur Carriage Return darf in der Text-Datei sein.
Danke Euch und grüße
ich habe 2 kleine Fragen.
1. ich muss per Batch eine Textdatei erstellen aus Daten, die in einem Verzeichnis stehen.
Die Namen, die immer variieren, werden in diese Text-Datei geschrieben. Das klappt soweit.
So, nun müssen aber bei der Verarbeitung bzw. Erstellung der Text-Datei 2 feste Wörter eingefügt werden.
Program und Modul wären die beiden festen Wörter, die als erstes eingetragen werden und dann halt die Namen, die aus dem entsprechend angegebenen Verzeichnis mit eingefügt werden.
2. es muss mit Tabstob getrennt sein bzw. muss ein tabstob dazwischen sein.
Sieht dann aus wie eine zweispaltige Tabelle.
Wichtig, es darf nur am Ende der jeweiligen Zeile ein Carriage Return () stehen.
Ein Line Feed (LF) darf nicht vorhanden sein, da diese Text-Datei weiterverarbeitet werden muss.
Aktuell füge ich die beiden Festen Wörter händisch an den Anfang ein und entferne den Line Feed.
Vorab vielen Dank für Eure Unterstützung.
Leider kenne ich mich im Batch o. Power Shell noch nicht aus. Hab auch etwas Probleme damit.
Es wurde mir schon geholfen mit dem Schritt, die text-datei zu erstellen.
dafür danke.
Nur leider muss ich noch 2 feste Wörter am ANFANG einfügen und nur Carriage Return darf in der Text-Datei sein.
Danke Euch und grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 519499
Url: https://administrator.de/contentid/519499
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
12 Kommentare
Neuester Kommentar
Moin,
Wenn es denn schon soweit klappt, dann wäre es äußerst hilfreich, wenn Du uns den Quellcode und auch Beispiele, wo denn die Daten herkommen, zur Verfügung stellst. Dann steigen Deine Chancen ungemein, dass Du Hilfe bekommst.
Liebe Grüße
Erik
Zitat von @ZTommy:
1. ich muss per Batch eine Textdatei erstellen aus Daten, die in einem Verzeichnis stehen.
Die Namen, die immer variieren, werden in diese Text-Datei geschrieben. Das klappt soweit.
1. ich muss per Batch eine Textdatei erstellen aus Daten, die in einem Verzeichnis stehen.
Die Namen, die immer variieren, werden in diese Text-Datei geschrieben. Das klappt soweit.
Wenn es denn schon soweit klappt, dann wäre es äußerst hilfreich, wenn Du uns den Quellcode und auch Beispiele, wo denn die Daten herkommen, zur Verfügung stellst. Dann steigen Deine Chancen ungemein, dass Du Hilfe bekommst.
Liebe Grüße
Erik
Moin,
Ich hatte mich schon gewundert. Ich vermute mal, die Datei wird unter Windows erstellt und unter Linux weiterverarbeitet? Wie wird die Datei übertragen?
Liebe Grüße
Erik
Zitat von @ZTommy:
Edit:
falsche Aussage von mir:
Line Feed (LF) muss behalten werden und Carriage Return (CR) muss entfernt werden.
Hab es leider verdreht ....
Edit:
falsche Aussage von mir:
Line Feed (LF) muss behalten werden und Carriage Return (CR) muss entfernt werden.
Hab es leider verdreht ....
Ich hatte mich schon gewundert. Ich vermute mal, die Datei wird unter Windows erstellt und unter Linux weiterverarbeitet? Wie wird die Datei übertragen?
Liebe Grüße
Erik
Zitat von @ZTommy:
Die Datei wird unter Windows (Win-Server 2012R2) erstellt und dort wird Sie auch weiter verarbeitet.
Sie wird nicht übertragen und bleibt in dem zu erstellendem Verzeichnis.
Die Datei wird unter Windows (Win-Server 2012R2) erstellt und dort wird Sie auch weiter verarbeitet.
Sie wird nicht übertragen und bleibt in dem zu erstellendem Verzeichnis.
Und warum dann die Konvertierung des Zeilenendes auf Linux-Style? Naja, warum auch immer. Mit der Powershell:
((Get-Content .\windows.txt) -join "`n") + "`n" | set-content .\linux.txt -NoNewline
hth
Erik
Das war eher eine rhetorische Frage, weil das sehr seltsam ist, dass ein Tool unter Windows nicht mit dem Window-Zeilenende zurecht kommt.
Daher muss ich das entsprechend anpassen und umwandel per Batch der je nach zeitraum automatisch dur ein Task startet.
Daher z.B. auch Tabstop....
Daher z.B. auch Tabstop....
Tabstopps sind da eher üblich (neben Semikolon). Geht es denn mit der PS-Zeile? Die kannst Du auch im Batch einbauen, wenn es denn unbedingt ein Batch sein muss. Powershell Befehl in Batch ausführen
Ungetestet:
Steffen
@echo off &setlocal EnableDelayedExpansion
set "folder=C:\Users\Tommy\Desktop\test_copy\"
set "outfile=C:\Users\Tommy\Desktop\test_copy\$export_ErrorCPY.txt"
(set lf=^
%= don't change and make sure there are no spaces at the end of these lines =%
)
<nul >"%outfile%" set /p "=Program Modul!lf!"
<nul >>"%outfile%" (for %%a in ("%folder%\*.cpy") do (set "basename=%%~na" &set /p "=%%~nxa !basename:~0,6!!lf!"))