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

2 Werte aus einer TXT-Datei auslesen und Ordner erstellen.

Frage Entwicklung Batch & Shell

Mitglied: yearlight

yearlight (Level 1) - Jetzt verbinden

02.08.2013 um 12:54 Uhr, 1944 Aufrufe, 9 Kommentare, 4 Danke

Hallo,
ich versuche aus folgender Textdatei, die Werte <Run> und <Number> auszulesen, und daraufhin einen Ordner mit einer zusammengesetzten Seriennummer zu erstellen.

<OneWireAnalyzerData>
<OneWireID>18613300</OneWireID>
<Error>0</Error>
<AnalyzerIdentification>
<OneWireAnalyzerIdentification>
<AnalyzerID>
<AnalyzerID>
<Id>11</Id>
<Run>178</Run>
<Number>4</Number>
</AnalyzerID>

Ich verwende dazu folgendes script:

setlocal ENABLEDELAYEDEXPANSION
for /f "skip=8 tokens=* delims=" %%k in ('type "E:\Odin\AnalyzerChipData.txt"') do @(
set RunNo=%%k
for /f "tokens=3,6 delims=<>" %%m in ("!RunNo!") do @(
set neuerOrdner="R0%%mN0%%n"
md !neuerOrdner!
goto ENDE
)
)
:ENDE

Mir wird zwar jetzt ein Ordner im Format R0...N0 erstellt, ich komme aber nicht an die Variable <Number> heran.

Wie kann ich diese in die Ordnernummer hineinbringen?
Hat jemand eine Idee?
Vielen Dank
Achim
Mitglied: Endoro
02.08.2013, aktualisiert um 13:27 Uhr
Hallo, zum Testen:
01.
@ECHO OFF &SETLOCAL 
02.
FOR /f "tokens=2delims=<>" %%a IN ('findstr /i "Run Number" file') DO ( 
03.
	IF NOT DEFINED run ( 
04.
		SET "run=%%a" 
05.
	) ELSE ( 
06.
		IF NOT DEFINED number SET "number=%%a" 
07.
08.
09.
ECHO MD "%run%%number%"
lg.
Bitte warten ..
Mitglied: yearlight
02.08.2013 um 14:05 Uhr
Hängt sich nach Zeile 8 kommentarlos auf. Hat fürs Echo keinen Bock mehr.
Bitte warten ..
Mitglied: Endoro
02.08.2013 um 14:20 Uhr
Zitat von yearlight:
Hängt sich nach Zeile 8 kommentarlos auf. Hat fürs Echo keinen Bock mehr.

Kann ich verstehen, bei der Hitze
Weiter gehts:
01.
@ECHO OFF &SETLOCAL 
02.
FOR /f "tokens=2delims=<>" %%a IN ('type file ^| findstr /i "Run Number"') DO ( 
03.
	IF NOT DEFINED run ( 
04.
		SET "run=%%a" 
05.
	) ELSE ( 
06.
		IF NOT DEFINED number SET "number=%%a" 
07.
08.
09.
ECHO MD "%run%%number%"
lg.
Bitte warten ..
Mitglied: yearlight
02.08.2013 um 15:01 Uhr
Er hängt sich jetzt zwar nicht mehr auf, kann aber die angegebene Datei nicht finden.
Guck doch mal bitte kurz mein script an. Der Pfad ist korrekt. Ich probiere das zum ersten (2.) nach vielen Jahren.

setlocal
FOR /f "tokens=2 delims=<>" %%a IN ('type file ^| findstr /i "E:\Odin\AnalyzerChipData.txt"') DO (
IF NOT DEFINED run (
SET run="%%a"
) ELSE (
IF NOT DEFINED number SET number="%%a"
)
)
ECHO MD "%%run%%number"
Bitte warten ..
Mitglied: Endoro
02.08.2013 um 15:32 Uhr
Der Dateiname steht bei type, das Suchmuster bei findstr:
01.
@ECHO OFF &SETLOCAL 
02.
FOR /f "tokens=2delims=<>" %%a IN ('type "E:\Odin\AnalyzerChipData.txt" ^| findstr /i "Run Number"') DO ( 
03.
	IF NOT DEFINED run ( 
04.
		SET "run=%%a" 
05.
	) ELSE ( 
06.
		IF NOT DEFINED number SET "number=%%a" 
07.
08.
09.
ECHO MD "%run%%number%"
Beim echo ist dir ein % verrutscht.
lg.
Bitte warten ..
Mitglied: yearlight
02.08.2013 um 15:56 Uhr
Vielen Dank,
Ich konnte mit dem findstr "Run Number" nichts anfangen und hielt dies für deinen Dateinamen.

Hat mir sehr geholfen.


Btw gibt es eine Möglichkeit, die Ausgabe immer als vierstellige Zahl mit führenden Nullen auszuführen? Wenn nicht, egal.


Vielen Dank noch einmal für die Hilfe

Achim
Bitte warten ..
Mitglied: Endoro
02.08.2013 um 17:59 Uhr
Führende Nullen kannst du auch bekommen:
01.
set "fullnumber=0000%run%%number%" 
02.
set "fullnumber=%fullnumber:~-4%" 
03.
echo MD "%fullnumber%"
lg.
Bitte warten ..
Mitglied: yearlight
02.08.2013 um 20:55 Uhr
Vielen Dank, war von mir ungenügend erklärt.

schön wäre, anstatt einer Ausgabe von:
Beispiel
run number
178 4
0178 0004

Aber das ist nur reine Kosmetik,
ich bedanke mich noch einmal herzlich.

Schönes Wochenende
wünscht Achim
Bitte warten ..
Mitglied: Endoro
02.08.2013 um 22:06 Uhr
Das ist wie oben, nur eben zwei mal:
01.
set "run=0000%run%" 
02.
set "number=0000%number%" 
03.
set "fullnumber=%run:~-4% %number:~-4%" 
04.
echo MD "%fullnumber%"
lg.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Werte aus CSV in TXT - Powershell (20)

Frage von Komoran12 zum Thema Batch & Shell ...

Batch & Shell
Dateien im Ordner auslesen und umbennen (10)

Frage von jocheng zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (14)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...