Jump to content

FOR-Schleife über Zeichenfolge


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo Leute,

 

ich habe frisch mit Windows-Scripting angefangen und hab Probleme mit dem Syntax der FOR-Schleife.

 

Mein Script soll mir folgende Liefern:

 

Textdatei ausgeben in der alle Laufwerke des Systems aufgelistet sind.

 

Hab folgenden Ansatz:

 

 

 

@echo off  

FOR %%a IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)

DO

if exist %a:\

echo %a >> Laufwerksliste.txt

 

 

Leider bekomme ich immer einen Syntaxfehler.

 

Wäre für Hilfe dankbar.

bearbeitet von harrier
Geschrieben

@lefg

 

Die manuelle Ausführung des folgenden Befehls in CMD bringt mit das gewünschte Ergebnis:

for %a IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO if 
exist %a:\ echo %a >> test.txt

 

Aus diesem Grund habe ich den Syntax der For-Schleife so übernommen.

 

Ich habe mir die Help-Page der For-Schleife in Windows angeschaut, war aber sicher, dass meine Syntax so passt.

 

 

 

 

 

Geschrieben

Habs grad mal nachgestellt. Dein erster Ansatz funktioniert schon. Muss halt kpl. in einer Zeile stehen!

FOR %%a IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO if exist %a:\ echo %a >> Laufwerksliste.txt

oder nach dem DO der Rest in Klammer

FOR %%a IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
if exist %a:\ echo %a >> Laufwerksliste.txt
)


Aber wenn Du gerade erst frisch mit Windows-Scripting anfängst... nimm doch dann lieber gleich Powershell.

Geschrieben (bearbeitet)

Hier der Inhalt meiner Batch-Datei (alles in einer Zeile):

 

for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %a:\ echo %a >> Laufwerksliste.txt
 

Ich bekomme damit lauter "a" in meinem Textfile. (Das Laufwerk a: existiert nicht)

bearbeitet von harrier
Geschrieben

Ich habe vor meine Schleife etwas zu erweitern.

Momentan gibt sie mit auch die CD-ROM Laufwerksbuchstaben mit aus.

 

Ist es möglich die CD-ROM Laufwerksbuchstaben nicht mit ausgeben zu lassen? (Laufwerksbuchstaben für CD-ROM sind je nach System verschieden.)

Geschrieben

Benutze Powershell. Dann hast du die ganzen Probleme nicht.

 

Get-PSDrive -PSProvider FileSystem | ? { $_.Free } | Select-Object Root

Alternativ für nur den Laufwerksbuchstaben (also C statt C:\):

Get-PSDrive -PSProvider FileSystem | ? { $_.Free } | Select-Object Name
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...