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

Jeder Token als neue variable

Frage Entwicklung Batch & Shell

Mitglied: Daffman

Daffman (Level 1) - Jetzt verbinden

13.04.2010 um 17:23 Uhr, 3136 Aufrufe, 8 Kommentare

Hello!
Ich bräuchte dringens Hilfe für meine Batch datei zum auslesen einer txt datei

hallo community

ich versuche schon seit längerem eine batch zu schreiben, die mir einen text, den ich in einer txt habe, aufteilt und jeden teil in eine variable speichert
die wäre zum beispiel:
01.
08:00-08:50 
02.
11:55-12:45
mit
01.
for /f "tokens=1-4 delims=:	" %%i in (%date%.pdf) do (set a= 
02.
%%i 
03.
set b=%%j 
04.
set c=%%k 
05.
set d=%%l)
kann ich es schon mal so aufschlüssel, dass ich dann a=08 b=00 c=08 und d=50 habe.
aber dann kommt die 2. zeile und die wird dann über das erste drübergespeichert.

weiß jemand, was ich meine und hat er/sie auch eine lösung??

lg
Alexander
Mitglied: bastla
13.04.2010 um 17:34 Uhr
Hallo Daffman!

In solchen Fällen ist es zumeist sinnvoll, die Variablen gleich entsprechend zu verarbeiten - was hast Du denn damit vor?

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
13.04.2010 um 17:50 Uhr
Hallo Daffman.

Du kanns das ganze in fortlaufende Variablen bringen. Z.B. a1 für das erste Token der ersten Zeile usw., dann a2 für das erste Token der 2. Zeile ...

01.
@echo off &setlocal 
02.
 
03.
:: Werte in die Variablen bekommen ... 
04.
for /f "tokens=1-5 delims=:- " %%a in ('findstr /n . "%date%.pdf"') do ( 
05.
  set "n=%%a" 
06.
  set "a%%a=%%b" 
07.
  set "b%%a=%%c" 
08.
  set "c%%a=%%d" 
09.
  set "d%%a=%%e"  
10.
11.
:: ... und wieder ausgeben. 
12.
for /l %%i in (1,1,%n%) do ( 
13.
  echo Zeile %%i: 
14.
  call echo %%a%%i%% 
15.
  call echo %%b%%i%% 
16.
  call echo %%c%%i%% 
17.
  call echo %%d%%i%% 
18.
  echo. 
19.
20.
 
21.
pause
Die Option /n von findstr setzt eine Zeilennummer vor jede Zeile, die dir hilft.

Wobei die Dateiendung *.pdf mich etwas verwundert.

Grüße
rubberman
Bitte warten ..
Mitglied: bastla
13.04.2010 um 17:56 Uhr
@rubberman
Technisch gesehen schon klar; die Frage ist aber weiterhin: Was macht Daffman dann in der zweiten Schleife mit den Werten, was in der ersten nicht möglich gewesen wäre?
Wobei die Dateiendung *.pdf mich etwas verwundert.
Die Zerlegung anhand der Delimiter ":" und TAB sieht aber auch interessant aus ... ;.)

Grüße
bastla
Bitte warten ..
Mitglied: rubberman
13.04.2010 um 18:09 Uhr
Hallo bastla,

Zitat von bastla:
@rubberman
Technisch gesehen schon klar; die Frage ist aber weiterhin: Was macht Daffman dann in der zweiten Schleife mit den Werten, was in
der ersten nicht möglich gewesen wäre?

Hmm, da oder dort mal gezielt auf einen bestimmten Wert zugreifen. Sonst fällt mir da auch nicht viel ein

Zitat von bastla:
Die Zerlegung anhand der Delimiter ":" und TAB sieht aber auch interessant aus ... ;)

Der TAB war mir garnicht aufgefallen (hab ich für ein Blank gehalten), nur der fehlende "-" ist mir sofort ins Auge gestochen. (BTW können nicht vorhandene Dinge einem ins Auge stechen ??? )

Grüße
rubberman
Bitte warten ..
Mitglied: Daffman
13.04.2010 um 18:55 Uhr
hallo!

vielen dank für die rasche hilfe und es funktioniert wunderbar

um das rätsel zu lösen:

die endung pdf ist ein tippfehler, ich war mit den gedanken kurz wo anders, ist natürlich eine txt, ansonst macht es kaum sinn
der : ist da, weil es sich um eine zeit handelt und der TAB weil danach noch etwas kommt, weobei immer ein TAB als abstand fungiert

also nochmals danke, klappt perfekt!!

lg alexander
Bitte warten ..
Mitglied: bastla
13.04.2010 um 18:59 Uhr
Hallo Daffman!

Es ist ja nicht so, dass ich besonders neugierig wäre , aber es würde mich trotzdem interessieren, was Du nun mit den vielen Variablen anstellen wirst ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
13.04.2010 um 19:10 Uhr
[OT] @bastla
Zitat von bastla:
Es ist ja nicht so, dass ich besonders neugierig wäre ,
Verglichen mit der Steuerfahndung? Scientology? Der Inquisition?
aber es würde mich trotzdem interessieren, was Du nun mit den vielen Variablen anstellen wirst ...

kann ich aufklären.
Am 1. April hat doch eine mir namentlich bekannte Redmonder Softwareklitsche im TechNet gepostet :
"Werden in einer Batchdatei mehr als 12.345 Variablen definiert und mit zweistelligen Ziffern befüllt,
erhält der Ersteller dieses Schnipsels ein Vorkaufsrecht auf Windows 12.0 (Codename:First Stable)."


Am zweiten April, als dieser Scherz aufgelöst werden sollte, sind ja leider die TechNet-Server wieder mal abgeschmiert...

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: mrtux
13.04.2010 um 20:46 Uhr
Hi !

Zitat von bastla:
Es ist ja nicht so, dass ich besonders neugierig wäre , aber es würde mich trotzdem interessieren, was Du nun mit den
vielen Variablen anstellen wirst ...

Vermutlich durchzählen ob die hinterher noch alle da sind....Vielleicht mit einer Schleife.. :-P

mrtux
Bitte warten ..
Ähnliche Inhalte
Windows 10
Xbox und Windows 10 - So sieht die neue Benutzeroberfläche aus

Link von Herbrich19 zum Thema Windows 10 ...

Sicherheit
gelöst OTP Hardware Token ohne zentrale Infrastruktur (3)

Frage von eglipeter zum Thema Sicherheit ...

Netzwerke
Neue MACs im Netzwerk automatisch finden (4)

Frage von MedicalAd zum Thema Netzwerke ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...