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-Key: 205787

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

Printed on: April 18, 2024 at 11:04 o'clock

Member: bastla
bastla Apr 29, 2013 updated at 08:34:16 (UTC)
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
Member: hausens
hausens Apr 29, 2013 at 09:39:48 (UTC)
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
Member: Biber
Solution Biber Apr 29, 2013, updated at Jan 29, 2014 at 07:25:31 (UTC)
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
Member: hausens
hausens Apr 30, 2013 updated at 14:45:22 (UTC)
Goto Top
Vielen Dank, auf das hab ich garnicht geachtet.
Werde ich einpflegen face-smile


Freundliche Grüße

Hausens