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

Per Batch Daten aus TXT lesen und in Variable übergeben

Frage Entwicklung Batch & Shell

Mitglied: zensbert

zensbert (Level 1) - Jetzt verbinden

05.09.2010 um 19:39 Uhr, 5866 Aufrufe, 10 Kommentare

Hallo,
ist zwar keine Schwierigkeit an sich, aber ich habe das Problem dass ich Daten aus einer TXT auslesen will und in verschiedene Variablen aufsplitten will..
In der besagten TXT ist nur die Zeile, alles andere wurde vorher aussortiert.. Problem sind die Leerzeilen..

Beispiel der TXT:
ID1001 <TAB> Kundenname <TAB> Beschreibung <TAB> RDP <TAB> URL <TAB> Port <TAB> User <TAB> Passwort

Hier sieht man dass bei Kundenname auch mal Leerzeilen mit drin sind z.B. "Mustermann GmbH"..
Ich brauche halt folgende Daten jeweils einzeln in Variablen: RDP, URL, PORT, USER, PW

Habe schon mit Delims und Tokens gespielt, aber iwie klappt das nich^^

Thx for Support,
Thomas
Mitglied: pieh-ejdsch
05.09.2010 um 20:49 Uhr
moin zensbert,

anstatt Leerzeilen meintest Du sicherlich Leerzeichen...
standartmässig ist delims der For-Schleife TAB und Leerzeichen

sind Die <TAB> Tabulatoranschläge? - dann in der for Schleife einen Tabanschlag nach dem delims= machen
bei einer Beispieldatei
ID1001 <TAB> Kundenname <TAB> Beschreibung <TAB> RDP <TAB> URL <TAB> Port <TAB> User <TAB> Passwort 
ID1001 	 Kundenname OHG Beispiel 	 Beschreibung 	 RDP 	 URL 	 Port 	 User 	 Passwort 
ID1001  Kundenname  Beschreibung  RDP  URL  Port  User  Passwort
reicht diese BatchZeile
01.
for /f "usebackq tokens=4-8 delims=	" %%i in ("neues textdokument.txt") do echo 1.%%i 2.%%j 3.%%k 4.%%l 5.%%m
Gruß Phil
Bitte warten ..
Mitglied: bankaifan
06.09.2010 um 09:43 Uhr
Kleine Anmerkung noch, wenn ich mich nicht verzählt habe muss es ..."...tokens=3-7... heißen. Er will ja dass RDP auch noch dabei ist und an erster stelle steht ja auch ein <TAB>
Bitte warten ..
Mitglied: LotPings
06.09.2010 um 11:16 Uhr
Moin zusammen,

nö bankaifan "ID1001" steht an erster Stelle und ein führender delims würde nicht mitzählen.

Um die Variablen direkt zuzuweisen kann er dies benutzen;
01.
for /f "usebackq tokens=4-8 delims=	" %%A in ("neues textdokument.txt" 
02.
) do for %%V in ("RDP=%%A" "URL=%%B" "Port=%%C" "User=%%D" "Passwort=%%E" 
03.
) Do Set %%V
(logisch eine Zeile,nur der Übersicht halber umbrochen)

Gruß
LotPings
Bitte warten ..
Mitglied: bankaifan
06.09.2010 um 11:26 Uhr
Sry :D Hab das ID1001 übersehen :D dann passt des natürlich.
Bitte warten ..
Mitglied: pieh-ejdsch
06.09.2010 um 18:18 Uhr
moin LotPings,

for %%V in ("RDP=%%A" "URL=%%B" "Port=%%C" "User=%%D" "Passwort=%%E" 
) do set %%V
Bei mir war mal der Effekt das Die Variablennamen ein führendes AnführungsZeichen " enthalten und die Variablen am Ende derZeichenfolge ein AnführungsZeichen " enthalten.

warum des so war weis ich nicht somit konnte ich nicht Variablen RDP,... nicht abrufen nur "RDP

besser ist
for %%V in ("RDP=%%A" "URL=%%B" "Port=%%C" "User=%%D" "Passwort=%%E" 
) do set "%%~V"
Gruß Phil
Bitte warten ..
Mitglied: zensbert
08.09.2010 um 21:02 Uhr
Hallo, entschuldigung wegen der kurzen ruhephase..
danke an alle Helfer.. funktioniert super damit.. ich habe nur eine kurze frage zum ergänzen; und zwar stehen in der TXT diese Zeilen, wenn ich nun aber nach dem kunden suche zeigt er alle infos aus der Zeile bzw. Zeilen an wenn der kunde mehrere einträge hat..

derzeit suche ich so:
type database.txt |find /I "%client%"

schön wäre es aber wenn nur die ID, Kundenname und Beschreibung angezeigt werden, das Problem hierbei sind für mich die Einträge von Kunden die mehr als einen Eintrag haben und das iwie untereinander aufgelistet werden soll..

z.B.

Bitte Kundennamen eingeben:
Mustermann

Folgende Einträge gefunden:
ID1001 Mustermann, Max PC1
ID1002 Mustermann, Max PC2

jemand ne idee wie ich diese suche so umstelle dass er nur die 3 Positionen anzeigt (statt die komplette Zeile) und die Treffer untereinander auflistet?


Many Thx so far..

Thomas
Bitte warten ..
Mitglied: LotPings
08.09.2010 um 21:16 Uhr
Moin Thomas,

komisch jetzt ist da auf einmal ein Komma zwischen Kundenname und Beschreibung?

01.
@Echo off 
02.
Set /P Client="Bitte Kundenname angeben: " 
03.
for /f "tokens=1-3 delims=	" %%A in ( 
04.
  ' Find /i "%Client%" ^<database.txt ' 
05.
    ) do Echo %%A %%B %%C
Aber das Prinzip mit den delims und tokens könntest du doch inzwischen verstanden haben !

Gruß
LotPings
Bitte warten ..
Mitglied: zensbert
08.09.2010 um 21:40 Uhr
Hi,
Nä..kein Komma, nur ein schlechtes Beispiel
"Mustermann, Max" ist der Kunde und "PC1" die Beschreibung..

Sagen wir es mal so ich weiss was ein tokens ist, delims bin ich noch nicht schlau draus geworden, muss ich nochmal googlen..
es sind halt immer zwei paar schuhe quelltext zu verstehen, oder es eben so selbst machen zu können

Wie kriege ich jetzt die Zeile weg mit "database.txt" in der ausgabe?

Daaanke! Thomas
Bitte warten ..
Mitglied: LotPings
08.09.2010 um 23:35 Uhr
Hallo Thomas,

habs oben geändert, die Datei kommt jetzt über Input-Redirection dann kennt Find den Dateinamen nicht.

Gruß
LotPings
Bitte warten ..
Mitglied: zensbert
09.09.2010 um 19:26 Uhr
Tja, wer kann der kann!

Funktioniert super, vielen Dank!

Greetz
Thomas
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Variablen von Batch zu VBS übergeben
gelöst Frage von ciejayBatch & Shell10 Kommentare

Hallo liebe Com, ich versuche mich gerade in der Batch und vbs Programmierung und bin daher sozusagen noch Anfänger. ...

Batch & Shell
Variable in neues Batch Script übergeben
gelöst Frage von alex89Batch & Shell3 Kommentare

Hallo, ich habe mir ein Batch Script erstellt um einige adminrelevante Tools und Abfragen aus einem Menü heraus zu ...

Batch & Shell
Inhalt einer .txt als eine Variable setzen mit Batch
gelöst Frage von AlexIOTBatch & Shell3 Kommentare

Hallo Zusammen, In der Variable.txt steht immer nur ein einziger Rechnername! - wie folgt: EW085IDFV001 Ich möchte das dieser ...

Batch & Shell
Batch: Parameter in einer For Schleife an eine Variable übergeben
gelöst Frage von BatchAnfaenger91Batch & Shell2 Kommentare

Hallo Liebe Leute, nun bin ich fast am Ende und bleibe trotzdem an Parameterübergabe hängen. Hier ist mein bisheriger ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 6 StundenBatch & Shell7 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 8 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 23 StundenMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...