bob777
Goto Top

Bestimmte zeile aus txt datei auslesen und sich aus zeile 100 einen wert anzeigen lassen ?

Hallo

Suche einen Weg sich aus einer .config (txt) datei einen Wert Spielzeit auszulesen und anzuzeigen?

Kann das irgendwer hier für einen guten Wodka und etwas mehr mache und mir ein Tool schreiben was aus einer txt Datei eine bestimmte Zeile die mit einer Variable definiert wird auslesen. Alle 2-15 Minuten es in einem simplen Fenster DOS oder Grafisch anzeigt?

Content-ID: 264149

Url: https://administrator.de/forum/bestimmte-zeile-aus-txt-datei-auslesen-und-sich-aus-zeile-100-einen-wert-anzeigen-lassen-264149.html

Ausgedruckt am: 22.12.2024 um 15:12 Uhr

rubberman
rubberman 21.02.2015 um 16:08:38 Uhr
Goto Top
Hallo bob777,

das geht ganz ohne Wodka, aber nicht ohne Information, wie diese besagte Zeile 100 aussieht und welche Information daraus, die ist, auf die du abzielst.

Grüße
rubberman
Dani
Dani 21.02.2015 aktualisiert um 17:27:37 Uhr
Goto Top
Moin,
ohne die Zeile 100 zu kennen, lässt sich dein Vorhaben mit Powershell erfüllen:
Get-Content C:\Temp\textdatei.txt -TotalCount 100 | Select-Object -Skip 99
Ausgegeben wird die Zeile 100.


Gruß,
Dani
114757
114757 21.02.2015 aktualisiert um 17:38:02 Uhr
Goto Top
Zitat von @Dani:
ohne die Zeile 100 zu kennen, lässt sich dein Vorhaben mit Powershell erfüllen:
@Dani : Noch kürzer gehts mit
(gc 'C:\Temp\textdatei.txt')[99]
Gruß jodel32


-edit- etwas aufgehübscht mit einer HTA ginge das auch so (ohne jetzt den Inhalt der Zeile zu kennen und was du daraus extrahieren willst, ist aber kein Problem):
(In Zeile 18 den Pfad zur Textdatei angeben und das ganze als *.hta in speichern und ausführen, der Text wird dann alle 2 Minuten aktualisiert)
<html>
<head>
<title>Demo</title>
<HTA:APPLICATION
  APPLICATIONNAME="Demo"  
  ID="Demo"  
  VERSION="1.0"  
  BORDER="dialog"  
  MAXIMIZEBUTTON="no"  
  MINIMIZEBUTTON="no"  
  SCROLL="no"/>  
</head>
<style>
body{background-color: blue; color:white; font-family:Arial;}
.txt{font-size:20pt; text-align:center}
</style>
<script language="VBScript">  
Const TEXTFILE = "C:\config.txt"  
Dim fso

Sub Window_OnLoad
	window.resizeTo screen.availWidth/2,screen.availHeight/2
	window.moveTo screen.availWidth/4,screen.availHeight/4
	Set fso = CreateObject("Scripting.FileSystemObject")  
	loadText
	window.setInterval "loadText",(120 * 1000)  
End Sub

Sub loadText()
	line = Split(fso.OpenTextFile(TEXTFILE,1).ReadAll(),vbNewLine)(99)
	document.getElementById("txtContent").innerText = line  
End Sub
</script>
<body>
<table border=0 width="100%" height="100%">  
	<tr>
		<td id="txtContent" class="txt"></td>  
	</tr>
</table>
</body>
</html>
bob777
bob777 23.02.2015 aktualisiert um 20:14:31 Uhr
Goto Top
Hallo

habe echt gestaunt face-smile habe die html Version mir angesehen das andere kapier ich nicht auch wenn es kurz ist ..

Jetzt bin ich dran aber noch ist die Sache nicht ganz schick.

Er soll aus der config die Werte rausfischen... und die IP und den Servernamen anzeigen.. da sich die Server ja immer änder würde ein Log der letzten Server die Sache zum Orgasmus bringen ;)

lastMPServer="11.40.11.87:1102";
lastMPServerName="Best Server Name";

Dann ist der Pfad der config immer anders da er im Userordner liegt und Username ja immer anders ist.
C:\Users\Administrator\Documents\job\Administrator.config

Kann man das Irgendwie machen dass er den Pfad bei mir Administrator erst Checkt und \Administrato\ im Pfad und Administrator.config so nennt wie eben der eingeloggte User heisst?

Dank

ich schicke gerne einen guten Vodka dafür los face-smile
114757
114757 23.02.2015 aktualisiert um 20:25:10 Uhr
Goto Top
Ich glaub du hast ne Buddel Vodka zu viel intus :-P
Beschreibe dein Textfile mal Schritt für Schritt, unsere Glaskugeln sind dazu leider nicht in der Lage zu deuten wo und an welcher Stelle die Daten liegen.
Alles andere ist ebenso Kinderkram und simpel zu lösen.
Ein Mindestmaß an deutlicher Beschreibung kann man eigentlich schon erwarten...aber wenn da Alk im Spiel is ... gehst besser hierhin.

Gruß jodel32
bob777
bob777 23.02.2015 aktualisiert um 21:10:53 Uhr
Goto Top
und ich mach grade fastenzeit ^^

ORT
C:\Users\Administrator\Documents\job\Administrator.config

DAS SOLL ANGEZEIGT WERDEN (IP & NAME)
lastMPServer="11.40.11.87:1102";
lastMPServerName="Best Server Name";

Ich weiss nicht wie ich das alles anders sagen soll.
rubberman
rubberman 23.02.2015 aktualisiert um 21:27:57 Uhr
Goto Top
Ich weiss nicht wie ich das alles anders sagen soll.

OK, dann hole ich mal meine Glaskugel.... Mist, runtergefallen.

Die gesuchten Zeilen sind Zeile 101 und 102? Oder müssen die Einträge gesucht werden? Gibt es sie nur einmal oder mehrfach in der Datei? Wenn letzteres, willst du dann den ersten, den dreiundelfzigsten oder den letzten Eintrag angezeigt bekommen?

Fragen über Fragen ... armer jodel32.

Grüße
rubberman
bob777
bob777 23.02.2015 aktualisiert um 21:35:29 Uhr
Goto Top
Die Werte lastMPServer= / lastMPServerName= müssen gesucht werden.. ( Sind die einzigen Werte in der Dateiface-smile
114757
Lösung 114757 23.02.2015, aktualisiert am 24.02.2015 um 13:56:43 Uhr
Goto Top
Zitat von @bob777:
Ich weiss nicht wie ich das alles anders sagen soll.
OK hier hat mal wieder einer keinen Plan ...face-sad
Dann machen wir's halt mit regex universell, dann kanns stehen wo's will.

Viel Spass noch ....
<html>
<head>
<title>Demo</title>
<HTA:APPLICATION
APPLICATIONNAME="Demo"  
ID="Demo"  
VERSION="1.0"  
BORDER="dialog"  
MAXIMIZEBUTTON="no"  
MINIMIZEBUTTON="no"  
SCROLL="no"/>  
</head>
<style>
body{background-color: blue; color:white; font-family:Arial;}
#txtContent{font-size:20pt; text-align:center}
#txtHistory{
	display:block;
	text-align:center;
	overflow:hidden;
	vertical-align:top;
}
</style>
<script language="VBScript">  
Dim fso,objShell,regex,strHistory,strLastServer,strLastIP,arrHistory(5)

Sub Window_OnLoad
	window.resizeTo screen.availWidth/2,screen.availHeight/2
	window.moveTo screen.availWidth/4,screen.availHeight/4
	Set fso = CreateObject("Scripting.FileSystemObject")  
	Set objShell = CreateObject("Wscript.Shell")  
	Set regex = CreateObject("vbscript.regexp")  
	regex.MultiLine = True
	regex.IgnoreCase = True
	loadText
	window.setInterval "loadText",(120 * 1000)  
End Sub

Sub loadText()
	pathConfig = objShell.ExpandEnvironmentStrings("%userprofile%") & "\Documents\job\" & objShell.ExpandEnvironmentStrings("%username%") & ".config"  
	If fso.FileExists(pathConfig) Then
		strContent = fso.OpenTextFile(pathConfig,1).ReadAll()
		regex.Pattern = "lastMPServer=""(.*?)"""  
		Set matches = regex.Execute(strContent)
		If matches.Count > 0 Then
			strServerIP = matches(0).submatches(0) 
		End If
		regex.Pattern = "lastMPServername=""(.*?)"""  
		Set matches = regex.Execute(strContent)
		If matches.Count > 0 Then
			strServerName = matches(0).submatches(0)
		End If
		document.getElementById("txtContent").innerHTML = strServerName & "<br />" & strServerIP  
		If strLastServer <> strServername or strLastIP <> strServerIP Then
			For i = 3 To 0 Step -1
				arrHistory(i+1) = arrHistory(i)
			Next
			arrHistory(0) = strServerName & " (" & strServerIP & ")"  
			document.getElementById("txtHistory").innerText = Join(arrHistory,vbNewLine)  
		End If
		strLastIP = strServerIP
		strLastServer = strServername
	End If
End Sub
</script>
<body>
	<table border=0 width="100%" height="100%">  
		<tr height="50%"><td id="txtContent"></td></tr>  
		<tr><td style="text-align:center;text-decoration:underline">History<td></tr>  
		<tr><td id="txtHistory"><td></tr>  
	</table>
</body>
</html>
bob777
bob777 24.02.2015 aktualisiert um 12:10:09 Uhr
Goto Top
Das gehttttttttttttttttttttt :D

Magst du noch mal Hand anlegen und einen Verlauf der letzte 5 Server einfügen face-smile

Und ich schicke dir gerne was für den Gaumen www.sk2.eu/spirituosen/05l-soplica-haselnuss-vodka-orzech-laskowy-flasche-32-top.html
Das ist echt ein guter Vodka ;) gibt es nicht in Deutschland

ps. kann man daraus eine Exe Datei machen ?
114757
114757 24.02.2015 aktualisiert um 13:57:25 Uhr
Goto Top
Zitat von @bob777:
Magst du noch mal Hand anlegen und einen Verlauf der letzte 5 Server einfügen face-smile
s. geänderter Code oben...
ps. kann man daraus eine Exe Datei machen ?
z.B. hiermit: http://www.htaedit.com/

Gruß jodel32

-edit- Zeit im Code korrigiert
bob777
bob777 24.02.2015 aktualisiert um 19:50:15 Uhr
Goto Top
Habe es hin bekommen face-smile

ich spiel damit etwas rum.. wenn was ist komme ich noch mal fragen ..

bin auch so frei und schreibe dich kurz über pm an

danke sehr!!!!!!!!!