Frage von Proximus553, 77

Wie kann ich die letzte Zeile aus einem Dokument (z.B.: Textdatei) mit einem Batchscript in eine Variable schreiben?

Beispiel, Passwortliste.txt:

1
2
3
4

Endvariablenwert = 4

Antwort
von ChuckBoris, 54

Die FOR-Schleife könnte dir helfen:

for /F "tokens=*" %%i in (file.txt) do (

set VAR=%i
)

Ist nicht getestet, sollte jedoch funktionieren.

Kommentar von Proximus553 ,

Was ist die Ausgabevariable? Tokens funktioniert nicht

Kommentar von maximilianus7 ,

korrektur:

for /F "tokens=*" %%i in (put.php) do set var=%%i
echo %var%

Kommentar von Proximus553 ,

Perfekt, danke  :)

Expertenantwort
von TeeTier, Community-Experte für programmieren, 54

Du könntest dir eine Hand voll gängiger Unix-Shell-Kommandos und eine vernünftige Shell installieren (z. B. Busybox mit Bash), und dann folgendes machen:

letztes=`tail -n1 passwortliste.txt`

Oder du benutzt die PowerShell. Die Standard-Batch-Shell ist so dermaßen schwachbrüstig, dass man damit fast keine Aufgabe elegant und knackig lösen kann. Abgesehen davon, dass vieles schlicht unmöglich ist, hat man am Ende fast immer total unsauberen Code-Murks rumliegen.

Vielleicht solltest du auch in Erwägung ziehen, eine richtige Skriptsprache zu lernen. Mit Perl, Pythoon, Ruby, usw. ist das Leben dann auch wieder lebenswert ... auch als traumatisierter Batch-Programmierer! :)

Kommentar von Proximus553 ,

Python mit doppel-"o", lol, und für dich: natürlich kann ich mehr als nur Batchscripte, aber es ging um ein Script für dass man nicht, wie bei Python oder Ruby, erst etwas installierten muss. Das nur als PS vom "traumatisierten Batch-Programmierer"...

Kommentar von TeeTier ,

Laus über Leber? :)

Keine passende Antwort gefunden?

Fragen Sie die Community