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, 3115 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...