hausens
Goto Top

Per batchscript untereinander stehende Werte ausgeben

Hallo,

Ich möchte mit einem Batchskript untereinander stehende Daten aus einem .txt File auslesen und weiterverarbeiten.
Bei einem anderen skirpt mit Zahlen (sprich IP Adressen) war dies kein Problem.

Inhalt der Zahlenabfrage aus dem txt Filde:

for /f %%a in (input.txt) do (
echo %%a
)


Inhalt input.txt:

192.168.0.1
192.168.2.23
192.168.3.35
192.168.0.95
etc...


Mein derzeitiges Problem ist Folgendes:
Ich möchte alle Laufwerksbuchstaben in ein txt File schreiben
--> ist kein Problem
Diese Daten möchte ich dann weiter verarbeiten.

das txt File mit den Laufwerksbuchstaben sieht so aus:

Caption
C:
D:
E:
F:
G:
K:
L:
Y:
Z:


Mein OS: MS Windows 7 Pro 6.1.7601 Service Pack 1
Könnte mir hier jemand helfen?

Freundliche Grüße

Hausen

Content-ID: 205787

Url: https://administrator.de/contentid/205787

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

bastla
bastla 29.04.2013 aktualisiert um 10:34:16 Uhr
Goto Top
Hallo hausens und willkommen im Forum!

Was genau ist denn das Problem? Mit dem oben angeführten Code kannst Du doch auch die Laufwerksbuchstaben so wie die IP-Adressen nacheinander in die Variable %%a holen und damit die Verarbeitung (welcher Art?) durchführen ...

Allenfalls könntest Du noch (falls die Textdatei Unicode enthalten sollte und deswegen die Weiterverarbeitung Schwierigkeiten bereitet) die Schleife auf
for /f %%a in ('type input.txt') do (
ändern.

Grüße
bastla
hausens
hausens 29.04.2013 um 11:39:48 Uhr
Goto Top
Ich habe das Problem schon gelöst:

for /f "skip=1 Tokens=1" %%a in ('wmic logicaldisk where "description like 'Lokale Festplatte'" get caption') do (
[BEFEHL]
)

Danke trozdem


Freundliche Grüße
Hausen
Biber
Lösung Biber 29.04.2013, aktualisiert am 29.01.2014 um 08:25:31 Uhr
Goto Top
Moin hausens,

willkommen im Forum.

Zitat von @hausens:
Ich habe das Problem schon gelöst:
Na ja, wenn zwischen der Frage-Erstellung und der ersten Antwort (am einem Montag morgen!) mal eben das Problem neu definierst... dann wirst du sogar diejenigen überholen, die zu den schnellsten Postern hier im Forum gehören.

Aber danke für die Bereitstellung des Schnipsels und des Problems. face-wink

for /f "skip=1 Tokens=1" %%a in ('wmic logicaldisk where "description like 'Lokale Festplatte'"
get caption') do (
[BEFEHL]
)

Wenn es ein klitzskleines bisschen kompatibel sein darf, dann ersetze doch wenigstens
das ganz wacklige "wenn Description sowatt wie 'Lokale Festplatte' is' ".

Das würde nur auf jedem zweiten Rechner laufen.
C:\Users\Biber>wmic logicaldisk where mediatype!=0 get caption, mediatype, description
Caption  Description       MediaType
C:       Local Fixed Disk  12
D:       Local Fixed Disk  12
E:       CD-ROM Disc       11


Auf meinem Rechner -> siehe Ausgabe. Und nein, das ist kein ausländisches Windows.
Nimm also als Einschränkung wmic logicaldisk where mediatype!=0
oder .. where mediatype=12 , wenn dich nur die Festplatten interessieren.

Grüße
Biber
hausens
hausens 30.04.2013 aktualisiert um 16:45:22 Uhr
Goto Top
Vielen Dank, auf das hab ich garnicht geachtet.
Werde ich einpflegen face-smile


Freundliche Grüße

Hausens