Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Mit Batch eine TXT datei auslesen

Frage Entwicklung Batch & Shell

Mitglied: 62992

62992 (Level 1)

18.03.2008, aktualisiert 22.03.2008, 6682 Aufrufe, 9 Kommentare

Hallo,
Also ich möchte eine datei auslesen der Daten über meinen Stamm bei www.die-stämme.de sind
das Problem ist: Es sind mehr Zeilen vorhanden als ich brauche
Beispiel:
01.
35860,Das+Imperium,%7CIMP%7C,9,9,4947,4947,1246 
02.
35126,Die+Gemeinschaft+des+Ringes,%7EDGDR%7E,2,2,818,818,1918 
03.
35489,Deiu+Buebe,DB,5,5,5159,5159,1232 
04.
36529,Maggots,666,1,1,369,369,2339 
05.
32583,Die+wilden+Kings,DwK,5,5,5094,5094,1237 
06.
24872,fd+stamm,fd,1,1,598,598,2071
Ich will jetz aber nur die daten die in der Zeile die mit 35860 anfängt finden und in eiene Varibale speichern.

PS: Die zeile die mit 35860 anfängt also 35860,Das+Imperium,%7CIMP%7C,9,9,4947,4947,1246 ist nicht immer die erste sondern irgendwo im dokoment also ich will:

1.Zeile mit "WORT" beginnt finden
2. Zeile mit "WORT" in eine Variable schreiben
Mitglied: bastla
18.03.2008 um 10:10 Uhr
Hallo MisterJojo und willkommen im Forum!

01.
for /f "delims=" %%i in ('findstr /b "35860," "D:\Deine Datei.txt"') do set "Zeile=%%i"
Grüße
bastla
Bitte warten ..
Mitglied: lowbyte1
18.03.2008 um 10:24 Uhr
helo
01.
@echo off 
02.
set "VAR= | type test.txt | find "36529"" 
03.
echo. %VAR% 
04.
pause
Bei mir kommt die meldung(warnung) von kaspersky das das ich eine RootShell öffne die die Dateieingabe/-ausgabe umleitet!

Diese meldung ignorieren!


lowbyte
Bitte warten ..
Mitglied: 62992
18.03.2008 um 10:33 Uhr
Danke bastla des funktioniert super
Lowbyte deins versteh ich nicht und es funktioniert auch nicht bei mir
aber drotzdem danke euch beiden für die schnelle Antwort hjat mir echt weiter geholfen
Bitte warten ..
Mitglied: 62992
18.03.2008 um 11:10 Uhr
Äh ich hab das jetzt soweit:


01.
@echo off 
02.
title Stammesdaten von Plutoniumgrill 
03.
echo Stammesdaten von Plutoniumgrill 
04.
 
05.
 
06.
for /f "delims=" %%i in ('findstr /b "18300," "ally.txt"') do set "Zeile=%%i" 
07.
echo %Zeile%>>zeile.txt 
08.
 
09.
 
10.
FOR /F "tokens=2 delims=, " %%i in (zeile.txt)Do echo %%i>>stammesname.txt  
11.
set/P name =<stammesname.txt 
12.
 
13.
echo Name 
14.
echo %name%  
15.
 
16.
pause

alerdings wird die Variable name an der Stelle
01.
echo Name 
02.
echo %name% 
Wieso funktionier das nicht kann sich das mal jemand durch lesen
Bitte warten ..
Mitglied: bastla
18.03.2008 um 11:21 Uhr
Hallo MisterJojo!

Vielleicht skizzierst Du einmal, was eigentlich das gewünschte Endergebnis sein soll - die Verwendung von Temporärdateien wäre bis hierher jedenfalls noch nicht nötig:
01.
@echo off & setlocal 
02.
title Stammesdaten von Plutoniumgrill 
03.
echo Stammesdaten von Plutoniumgrill 
04.
 
05.
for /f "delims=" %%i in ('findstr /b "18300," "ally.txt"') do set "Zeile=%%i" 
06.
FOR /F "tokens=2 delims=, " %%i in ("%Zeile%") Do set "Name=%%i" 
07.
 
08.
echo Name 
09.
echo %Name%
Grüße
bastla
Bitte warten ..
Mitglied: 62992
18.03.2008 um 11:51 Uhr
01.
for /f "delims=" %%i in ('findstr /b "18300," "ally.txt"') do set "Zeile=%%i"
Liest die Zeile mit allen Daten aus (sind inr folgender Reihenfolge vorhanden $id, $name, $tag, $members, $villages, $points, $all_points, $rank)
01.
FOR /F "tokens=2 delims=, " %%i in ("%Zeile%") Do set "Name=%%i"
Soll dan 2 Spalte also $name ausgeben und die anderen daten kann ich dan selber rausholen
Bitte warten ..
Mitglied: lowbyte1
20.03.2008 um 00:26 Uhr
helo


nur so nebenbei ....

01.
@echo off 
02.
set "VAR= | type test.txt | find "36529"" 
03.
echo. %VAR% 
04.
pause
das wurde von mir getestet und funktioniert ganz bestimmt.
syntax stimmt auch.

vileicht blockiert irgend ein programm auf deinem rechner, die ausführung von solchem code.


lowbyte
Bitte warten ..
Mitglied: Biber
20.03.2008 um 01:55 Uhr
Moin lowbyte1,

jein.... Du kommst zwar rein optisch zum gleichen Ergebnis, aber nur auf ganz schmalem Grat...

Die ganze Wahrheit [recherchiert am CMD-Prompt] ist:
01.
D:\temp>echo 12377>test2.txt 
02.
 
03.
D:\temp>echo 12345>>test2.txt 
04.
 
05.
D:\temp>set "VAR= | type test2.txt | find "12377"" 
06.
 
07.
D:\temp>echo %var% 
08.
12377 
09.
 
10.
D:\temp>set "VAR= | type test2.txt|find "12345"" 
11.
 
12.
D:\temp>echo %var% 
13.
12345
....soweit genau wie von Dir gepostet, aber nu...
01.
D:\temp>echo [%var%] 
02.
FIND: Parameterformat falsch 
03.
 
04.
D:\temp>echo %var%.. 
05.
FIND: Parameterformat falsch 
06.
 
07.
D:\temp>set v 
08.
VAR= | type test2.txt|find "12345"
Die letzte Zeile offenbart das Geheimnis. In %var% steht leider nicht das Ergebnis der Type/Find-Operation, sondern eine Befehlsfolge, die jedesmal beim Ansprechen von %var% aufgelöst/ausgeführt wird.
Du hast also quasi einen Alias/einen Mini-Makro definiert.
Und ein "echo %var%" wird so aufgelöst:
01.
D:\temp>echo | type test2.txt|find "12345" 
02.
12345
Na ja, vordergründig schon das geplante....

Grüße
Biber
Bitte warten ..
Mitglied: lowbyte1
22.03.2008 um 19:29 Uhr
hello biber

ja ich weis es biber dass das nicht gerade die feine art ist..
doch es funktioniert... obwohl man es nicht gerade verwenden sollte.

aber stimmts du mir zu, das es bei ihm trotzdem funktionieren sollte!?


cyu lowbyte
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH ini Datei Datei auslesen (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Batch & Shell
Ungewöhnliche Txt.Datei-Abfrage mit Batch (3)

Frage von DaTobsn zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...