Top-Themen

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

gelöst Erstes wort aus der letzten zeile in variable

Mitglied: nighty2kk

nighty2kk (Level 1) - Jetzt verbinden

08.04.2013, aktualisiert 16.04.2013, 1570 Aufrufe, 15 Kommentare

Hallo

ich wollte gerne mal nachfragen wie ich per batch das erste wort aus der letzten zeile einer txt datei in eine variable speichere.
habe ein script wo nur die letzte zeile ausgelesen wird. evtl kann mir das jemand umschreiben das nur das erste wort der letzten zeile ausgelesen wird.
danke


@echo off & setlocal

set "LetzteZeile="

for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "D:\Deine Datei.txt"') do set "LetzteZeile=%%j"

echo\%LetzteZeile%
Mitglied: bastla
08.04.2013, aktualisiert um 16:16 Uhr
Hallo nighty2kk und willkommen im Forum!

Wenn Du als erstes "Wort" alles bis zum ersten Leerzeichen (außer, die Zeile beginnt mit einem oder mehreren Leerzeichen, dann den Teil ab dem ersten Nicht-Leerzeichen bis zum nächsten Leerzeichen) meinst, dann etwa so:
01.
@echo off & setlocal 
02.
for /f "usebackq" %%i in ("D:\Deine Datei.txt") do set "Wort=%%i" 
03.
echo %Wort%
Genau genommen bekommst Du so das erste Wort der letzten nicht leeren (oder nur aus Leerzeichen bestehenden) Zeile.

Grüße
bastla
Bitte warten ..
Mitglied: nighty2kk
09.04.2013, aktualisiert um 09:38 Uhr
danke, mein code funktioniert soweit, jedoch hätte ich eine frage dazu.

@echo off & setlocal
for /f "usebackq" %%i in ("D:\Deine Datei.txt") do set "Wort=%%i"
find "suchwort" %Wort%.txt && goto START
goto :EOF
:START
echo test bestanden
pause

es wird in einer anderen txt datei(welche den namen der variable Wort trägt) nach "suchwort" gesucht und wenn vorhanden "test bestanden" ausgegeben.
wie mach ich es am besten das er mir "test NICHT bestanden" ausgibt wenn er nicht das "suchwort" findet?.
müsste ja mit einer IF anweisung gehen, jedoch bekomme ich das nicht so hin da "suchwort" keine variable ist.
Bitte warten ..
Mitglied: bastla
09.04.2013 um 15:00 Uhr
Hallo nighty2kk!

Einfach so:
01.
find "suchwort" %Wort%.txt && ( 
02.
    echo test bestanden 
03.
) || ( 
04.
    echo test nicht bestanden 
05.
06.
pause 
07.
goto :eof
Grüße
bastla

P.S.: Mit der Formatierung als "Code" (lässt sich auch nachträglich einfügen) sieht das doch viel besser aus, findest Du nicht?
Bitte warten ..
Mitglied: nighty2kk
15.04.2013 um 10:00 Uhr
danke, hat geklappt
Bitte warten ..
Mitglied: nighty2kk
16.04.2013 um 14:34 Uhr
nochmal eine kurze frage:

ist es möglich auch einen anderen abschnitt aus einer anderen zeile in eine variable zu definieren.
damit man sich es besser vorstellt.

abcd and 2013-03-10 01.00.00
avax and 2013-03-17 01.00.00
asdf and 2013-03-24 01.00.00
gsdg and 2013-03-31 01.00.00

quasi das datum aus der vorletzten zeile bräuchte ich.
Bitte warten ..
Mitglied: bastla
16.04.2013 um 15:12 Uhr
Hallo nighty2kk!

Woran ist die vorletzte Zeile zu erkennen (außer, dass sie tatsächlich die vorletzte Zeile - mit Inhalt - wäre)?

Wenn "vorletzte Zeile": Ließe sich dann dieses Datum auch als "zweitjüngstes" definieren (weil die Zeilen nach Datum sortiert vorliegen)?


Grüße
bastla
Bitte warten ..
Mitglied: nighty2kk
16.04.2013, aktualisiert um 15:22 Uhr
Das ist gerade das Doofe. Sie ist an nichts zu erkennen. Ich wollte zuerst die Zeilen durchzählen, aber die Textdatei ändert sich und es kommen immer neue zeilen dazu pro Woche.
Meine Idee war es einfach vom aktuellen Datum 7 abzuziehen. Funktioniert natürlich, jedoch kann es passieren das vor 7 Tagen kein neuer Eintrag dazu gekommen ist. Deswegen muss ich die vorletzte Zeile nehmen, sprich den Abschnitt mit dem Datum.
Hoffe das ist irgendwie möglich.
Bitte warten ..
Mitglied: bastla
16.04.2013 um 15:39 Uhr
... womit aber noch immer die Frage bliebe, ob der gesuchte Datumswert der zweitjüngste ist ...

Grüße
bastla
Bitte warten ..
Mitglied: nighty2kk
16.04.2013 um 15:41 Uhr
ja es ist immer das zweitjüngste
Bitte warten ..
Mitglied: nighty2kk
16.04.2013, aktualisiert um 22:21 Uhr
Hat keiner mehr eine Idee?
Mir würde noch einfallen das irgendwie man Zeile für Zeile mit einer For Schleife das Datum überprüft.
Sprich Zeile 1 das richtige Datum Ja oder Nein? Wenn nicht weiter. Also immer in 7er Schritten das Datum Zeile für Zeile zu überprüfen.
Könnte das hinhauen, was meint ihr?
Bitte warten ..
Mitglied: bastla
16.04.2013 um 22:44 Uhr
Hallo nighty2kk!

Soferne die Stellenanzahl vor den Datumswerten (in Deinem Beispiel 9 Zeichen) konstant wäre, könnte das zB so gehen:
01.
@echo off & setlocal 
02.
set "Datei=D:\Deine Datei.txt" 
03.
 
04.
set "Datum=" 
05.
for /f "skip=1 tokens=3" %%i in ('sort /r /+9 "%Datei%"') do if not defined Datum set "Datum=%%i"
Grüße
bastla
Bitte warten ..
Mitglied: rubberman
16.04.2013 um 22:54 Uhr
Hallo Zusammen,

vielleicht auch so:
01.
@echo off &setlocal 
02.
set "file=D:\Deine Datei.txt" 
03.
 
04.
setlocal EnableDelayedExpansion 
05.
for /f %%i in ('type "!file!"^|find /c /v ""') do set /a "stop = %%i - 2" 
06.
<"!file!" ( 
07.
  for /l %%i in (1 1 %stop%) do set /p "=" 
08.
  set /p "vorletzte=" 
09.
  set /p "letzte=" 
10.
11.
endlocal &set "vorletzte=%vorletzte%" &set "letzte=%letzte%" 
12.
 
13.
echo Vorletzte Zeile: %vorletzte% 
14.
echo Letzte Zeile: %letzte% 
15.
 
16.
for /f %%i in ("%vorletzte:* and =%") do echo Datum %%i 
17.
for /f %%i in ("%letzte%") do echo Wort %%i 
18.
pause
Beruht auf der Annahme, dass das "and" das erste mal vor dem Datum auftaucht.

Grüße
rubberman
Bitte warten ..
Mitglied: nighty2kk
16.04.2013 um 23:12 Uhr
ja das "and" steht immer vor dem Datum, ich werde es morgen Früh dann auf Arbeit ausprobieren.
Danke schonmal, ich geb dann Bescheid wenn es geklappt hat.
Bitte warten ..
Mitglied: nighty2kk
17.04.2013, aktualisiert um 09:35 Uhr
Der Code von bastla hat wunderbar funktioniert, vielleicht könntest du mir die 5te zeile deines codes ein wenig erklären, damit ich es besser verstehe.
danke
Bitte warten ..
Mitglied: bastla
17.04.2013, aktualisiert 03.05.2013
Hallo nighty2kk!
vielleicht könntest du mir die 5te zeile deines codes ein wenig erklären
Du kannst ja testweise einmal direkt
sort /r /+9 "D:\Deine Datei.txt"
ausführen und siehst dann, dass damit eine nach dem Datum (ab der 9. Stelle der Zeile) absteigend (wegen "/r") sortierte Liste aus der Datei erzeugt wird.

Da der zweitjüngste Wert gesucht ist, wird in der Schleife per "skip=1" die erste Zeile der durch "sort" erzeugten Ausgabe übersprungen. Mit "tokens=3" wird festgelegt, dass der 3. Teil der Zeile (Trennung anhand der Standard-Trennzeichen "Leerzeichen" und "TAB") in die Variable "%%i" übernommen werden soll.

Damit die Zuweisung zur Variablen "%Datum%" nicht bei jedem Schleifendurchlauf erneut erfolgt, wird in Zeile 4 "%Datum%" gelöscht und in der Schleife nur zugewiesen, wenn die Variable noch nicht existiert - das ist aber natürlich nur beim ersten Schleifendurchlauf der Fall, und daher wird der Wert in weiteren Durchläufen nicht mehr überschrieben.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Debian
Letzte Zeile lesen und einfügen
gelöst Frage von Fenris14Debian4 Kommentare

Guten Tag, ich versuche mich mal wieder ein wenig an Scripten und habe hier jetzt das Problem das ich ...

Batch & Shell

Variable enthält nur den letzten Wert

gelöst Frage von Phill93Batch & Shell4 Kommentare

Hallo, bin hier gerade am verzweifeln. Ich möchte einen Variable auf das vorkommen eines bestimmten Strings prüfen. Das klapp ...

Batch & Shell

FOR Variable nur letzter Ordner

gelöst Frage von mc-doubleyouBatch & Shell6 Kommentare

Hallo zusammen, ich möchte mit PneumaticTube Daten auf meine Dropbox laden. Der Programmierer hat mir dann vorgeschlagen ich soll ...

Visual Studio

Wort finden und übernächste Zeile anzeigen

gelöst Frage von 0belixxVisual Studio2 Kommentare

Hallo Leute, ich brauche mal etwas Hilfe. Folgendes Problem. Ich habe einen Text . . . blabla bla blabl ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 41 MinutenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 2 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 3 StundenMicrosoft3 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1018 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Server-Hardware
Server für Exchange 2016, Kaufberatung
Frage von MazenauerServer-Hardware10 Kommentare

Guten Tag werte Gemeinde, Vorab: Ich dachte es gab mal einen separaten Bereich für solche Anfragen, habe ich leider ...