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

Frage Entwicklung Batch & Shell

Mitglied: nighty2kk

nighty2kk (Level 1) - Jetzt verbinden

08.04.2013, aktualisiert 16.04.2013, 1541 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
Batch & Shell
Text von zeile mit wort, bis ziele mit wort
gelöst Frage von SaintwolfBatch & Shell5 Kommentare

suche eine Batch die eine txt auswertet inhalt: text a text b text c Fehler fehler in KB4568792 text ...

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 ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 18 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 21 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...