in einer bestehenden TXT Datei an die zeilen enden was ranhängen
in einer bestehenden TXT Datei an die zeilen enden was ranhängen
Hallo,
ich habe ein TXT Datei mit vielen Zeilen die so ca aussieht:
Maier,Max
Mueller,Hannes
...
nun soll am ende jederZeile noch Angehangen werden:
...,MaiMa
...,MueHa
also die ersten drei Buchstaben vom Nachnamen und die ersten zwei Buchstaben vom Vornamen
weiss jemand wie ich das in einer Token schleife am besten realiesiern kann?
Vielen Dank schon jetzt einmal.
Hallo,
ich habe ein TXT Datei mit vielen Zeilen die so ca aussieht:
Maier,Max
Mueller,Hannes
...
nun soll am ende jederZeile noch Angehangen werden:
...,MaiMa
...,MueHa
also die ersten drei Buchstaben vom Nachnamen und die ersten zwei Buchstaben vom Vornamen
weiss jemand wie ich das in einer Token schleife am besten realiesiern kann?
Vielen Dank schon jetzt einmal.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 68108
Url: https://administrator.de/contentid/68108
Ausgedruckt am: 25.11.2024 um 21:11 Uhr
10 Kommentare
Neuester Kommentar
Hi,
versuch es mal mit einem tool das die tastenkombinationen macht ein Macro im Word oder autoit
da ich nicht der macromensch bin hier ein kleines Autoit script
in der Zeile
WinWaitActive ("C:\Dokumente und Einstellungen\\Desktop\autoit test.txt - Notepad2")
muss zwichen den Anführungszeichen das stehen, was oben im editor steht
und in der Zeile
While $i <= XXX
muss an die stelle der drei x die zahl deiner Zeilen im TXT.file -1
viel spaß
versuch es mal mit einem tool das die tastenkombinationen macht ein Macro im Word oder autoit
da ich nicht der macromensch bin hier ein kleines Autoit script
; ----------------------------------------------------------------------------
;
; AutoIt Version: 3.1.0
; Author: A.N.Other <myemail@nowhere.com>
;
; Script Function:
; Template AutoIt script.
;
; ----------------------------------------------------------------------------
; Script Start - Add your code below here
WinWaitActive ("C:\Dokumente und Einstellungen\kuehn_b\Desktop\autoit test.txt - Notepad2")
Send ("^{HOME}")
$i = 0
While $i <= di
$i = $i + 1
Send ("+{RIGHT 3}")
Send ("^c")
Send ("{END}")
Send (",")
Send ("^v")
Send ("^{LEFT 3}")
Send ("+{RIGHT 2}")
Send ("^c")
Send ("{END}")
Send ("^v")
Send ("{DOWN}")
send ("{HOME}")
WEnd
WinWaitActive ("C:\Dokumente und Einstellungen\\Desktop\autoit test.txt - Notepad2")
muss zwichen den Anführungszeichen das stehen, was oben im editor steht
und in der Zeile
While $i <= XXX
muss an die stelle der drei x die zahl deiner Zeilen im TXT.file -1
viel spaß
Moin Dipps,
mit Batch und einer FOR/F-Anweisung wäre ein möglicher Ansatz:
[zum Warmwerden am CMD-Prompt]:
Die beiden vorhandenen Token "name" und "Vorname" plus das abgeleitete neue dritte Token würde ich aber in eine neue Datei schreiben lassen. Schon aus dem Grund, dass der Originaldatei nichts passiert, bis wirklich ein Script -egal ob AutoIt oder VBS oder Batch- auch läuft.
Eine erste ungetestete Batch-Skizze wäre dann:
Wie gesagt, nicht getestet.
Wenn "Add3rdToken" auf dem Bildschirm klappt, dann alles umleiten in eine neue Textdatei. Also "Add3rdToken>NeueNamen.txt"
Grüße
Biber
mit Batch und einer FOR/F-Anweisung wäre ein möglicher Ansatz:
[zum Warmwerden am CMD-Prompt]:
for /f "tokens=1,* delims=," %i in (namen.txt) do @echo [Name: %i], [Vorname: %j]
Die beiden vorhandenen Token "name" und "Vorname" plus das abgeleitete neue dritte Token würde ich aber in eine neue Datei schreiben lassen. Schon aus dem Grund, dass der Originaldatei nichts passiert, bis wirklich ein Script -egal ob AutoIt oder VBS oder Batch- auch läuft.
Eine erste ungetestete Batch-Skizze wäre dann:
::----Snipp Add3rdToken.bat---
@echo off & setlocal
for /f "tokens=1,* delims=," %%i in (tempxx.txt) do call :ProcessLine "%%~i" "%%~j"
Goto :eof
:ProcessLine Para1=Name, Para2=Vorname
Set "name=%~1"
Set "vorname=%~2"
Echo %~1,%~2,%name:~0,3%%vorname:~0,2%
::----Snipp Add3rdToken.bat---
Wie gesagt, nicht getestet.
Wenn "Add3rdToken" auf dem Bildschirm klappt, dann alles umleiten in eine neue Textdatei. Also "Add3rdToken>NeueNamen.txt"
Grüße
Biber
Hi,
das ist kein VB
sondern Autoit,
http://www.autoitscript.com/autoit3/
ein zusätzliches Tool, aber durchaus hin und wieder sehr sinnvoll
das ist kein VB
sondern Autoit,
http://www.autoitscript.com/autoit3/
ein zusätzliches Tool, aber durchaus hin und wieder sehr sinnvoll
Moin Dipps,
>also das 3. token alles klein zu schreiben?
Batch bietet keine ToUpper()/ToLower()-Funktionalität an.
Dann ginge es schneller, alle 5 Zeilen nochmal neu als 5zeiligen VBS-Schnipsel zu schreiben.
Aber vorher die Fragen nach dem Nutzen:
Grüße
Biber
>also das 3. token alles klein zu schreiben?
Batch bietet keine ToUpper()/ToLower()-Funktionalität an.
Dann ginge es schneller, alle 5 Zeilen nochmal neu als 5zeiligen VBS-Schnipsel zu schreiben.
Aber vorher die Fragen nach dem Nutzen:
- wieso würde das denn für die weitere Verarbeitung einen Unterschied machen, ob es klein oder gemischt geschrieben ist?
- wie oft brauchst Du den Schnipsel denn - einmalig oder jeden Dienstag morgen?
Grüße
Biber
Moin Dipps,
das kannst Du relativ simpel zusammenbraten mit der %random%-Funktion.
Mimik wäre in etwa
So kannst Du Zeichen für Zeichen zusummenstoppeln oder das auch einen Batch machen lassen.
Aber wenn Du damit nicht zurechtkommst, dann mach bitte dafür einen neuen Beitrag auf.
Und setz diesen hier auf "Beantwortet".
Grüße
Biber
das kannst Du relativ simpel zusammenbraten mit der %random%-Funktion.
Mimik wäre in etwa
- Setlocal enableDelayedExpansion
- Gesamtheit aller erlaubten Zeichen festlegen
set "text=abcdefghigklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- einen Zufallswert im Bereich 0....Länge_aller_erlaubten_Zeichen erzeugen
set /a x=%random% % 60
- wenn bei diesem Wert für die Variable %x% z.B. 13 herauskam, dann liefert der folgende Code das 13. Zeichen ="m".
Set Zufallszeichen=%text:~!x!,1%
So kannst Du Zeichen für Zeichen zusummenstoppeln oder das auch einen Batch machen lassen.
Aber wenn Du damit nicht zurechtkommst, dann mach bitte dafür einen neuen Beitrag auf.
Und setz diesen hier auf "Beantwortet".
Grüße
Biber