Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Per Batch Die letzte Zeile einer .txt Datei auslesen und in einer Variablen speichern

Frage Entwicklung Batch & Shell

Mitglied: Motorcross

Motorcross (Level 1) - Jetzt verbinden

17.10.2010 um 01:21 Uhr, 14714 Aufrufe, 4 Kommentare

Hallo Administratoren,

ich würde gerne über einen Batchscript die letzte Zeile einer .txt Datei auslesen und in einer Variablen speichern.
Ich würde mich über einen für mein Problem angepassten Script freuen.
MfG Motorcross
Mitglied: bastla
17.10.2010 um 01:33 Uhr
Hallo Motorcross!

Nicht angepasst, sondern ganz neu geschrieben :
01.
@echo off & setlocal 
02.
set "LetzteZeile=" 
03.
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "D:\Deine Datei.txt"') do set "LetzteZeile=%%j" 
04.
echo\%LetzteZeile%
Zeile 3, falls keine Leerzeilen zu berücksichtigen sind:
for /f "usebackq delims=" %%i in ("D:\Deine Datei.txt") do set "LetzteZeile=%%i"
Grüße
bastla
Bitte warten ..
Mitglied: rubberman
17.10.2010 um 16:21 Uhr
@bastla

Mit FINDSTR /N bin ich vor einiger Zeit mal voll auf die Falle geschnautzt
Bei Zeilen, die mit einem Doppelpunkt beginnen, wird dieser einfach eliminiert.
Als Beispiel (ja natürlich ginge das mit TYPE einfacher, aber das ist hier nicht der Sinn):
01.
@echo off &setlocal 
02.
for /f "tokens=1* delims=:" %%a in ('findstr /n "^" "%~0"') do ( 
03.
REM for /f "tokens=* delims=1234567890" %%a in ('findstr /n "^" "%~0"') do ( 
04.
  set "line=%%b" 
05.
  REM set "line=%%a" 
06.
  call :echoLine 
07.
08.
pause>nul 
09.
goto :eof 
10.
 
11.
:echoLine 
12.
setlocal enabledelayedexpansion 
13.
echo\!line! 
14.
REM echo\!line:~1! 
15.
endlocal 
16.
goto :eof 
17.
 
Mit REM auskommentiert, meine Lösung. Der Unterschied: Label :echoLine ohne bzw. mit vorangestelltem Doppelpunkt.

Grüße
rubberman
Bitte warten ..
Mitglied: bastla
17.10.2010 um 16:45 Uhr
Hallo rubberman!

Stimmt (wobei in Zeilen, die mit mehreren Doppelpunkten beginnen, alle eliminiert werden - ist ja der vorgegebene Delimiter) ...
Nur interessehalber: Wozu brauchst Du "delayedExpansion"?
Noch ein Hinweis: Mit "%~f0" würde Deine Demo auch funktionieren, wenn der Batch nur mit Namen (also ohne Extension) aufgerufen wird ...

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
17.10.2010 um 16:50 Uhr
Hallo bastla,

das delayedExpansion vereinfacht den Umgang mit Sonderzeichen bei der ECHO Ausgabe. Anders gesagt, du brauchst sie nicht zu maskieren.
Siehe
@echo off &setlocal
und
pause>nul

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von 126594 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(6)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Sicherheit

Eventuell neue Lücke in Intels ME

Information von sabines zum Thema Sicherheit ...

Viren und Trojaner

FinFisher: Internetprovider schieben Spitzelopfern Malware unter

(1)

Information von kaiand1 zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows 7
SSD - Win7 Lags (15)

Frage von ph5555 zum Thema Windows 7 ...