Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

In Batch-File: Laufwerksbuchstaben herausfinden

48 views
Skip to first unread message

Andre Tann

unread,
Dec 10, 2012, 5:39:48 AM12/10/12
to
Servus zusammen,

ich würd gerne herausfinden, auf welchem angeschlossenen Laufwerk eine
bestimmte Datei (sagen wir datei.txt) liegt. Das ganze soll in einem
Batch-File passieren. Mein erster Gedanke:

for %%x in (A B C D E ... Z) DO (
if exist %%x:\datei.txt echo Das ist das Laufwerk: %%x
)

Kommt mir etwas unschön vor, weil jeder Buchstabe einzeln notiert wird.
Geht das eleganter/einfacher?

Hintergrund: Es gibt ein paar USB-Platten, die zur Erkennung eine
bestimmte Datei im Wurzelverzeichnis haben. Nun will ich eben
herausfinden, welchen Laufwerksbuchstaben die jeweils angeschlossene
Platte hat.

--
Andre
Tann

Alex Strobel

unread,
Dec 10, 2012, 5:28:07 PM12/10/12
to
> Servus zusammen,
Tach auch

>
> ich würd gerne herausfinden, auf welchem angeschlossenen Laufwerk eine
> bestimmte Datei (sagen wir datei.txt) liegt. Das ganze soll in einem
> Batch-File passieren.
Gibt es einen bestimmten Grund dafür das über ein Batch File zu machen?

> Mein erster Gedanke:
>
> for %%x in (A B C D E ... Z) DO (
> if exist %%x:\datei.txt echo Das ist das Laufwerk: %%x
> )
>
> Kommt mir etwas unschön vor, weil jeder Buchstabe einzeln notiert wird.
> Geht das eleganter/einfacher?
Ja, mit VBScript?

Set DateiSystem = CreateObject("Scripting.FileSystemObject")
For each Laufwerk in DateiSystem.Drives
Laufwerke = Laufwerke & Laufwerk.DriveLetter & vbCrLf
Next
MsgBox "Existierende Laufwerke:" & vbCrLf & Laufwerke,, "Existierende
Laufwerke"

Würde Dir zumindest schon mal eine Liste der Laufwerke ausgeben. Eine
Überprüfung ob eine bestimmte Datei auf den einzelnen Laufwerken
vorhanden ist, sollte damit nur noch ne Kleinigkeit sein.

Christoph Schneegans

unread,
Dec 10, 2012, 6:55:02 PM12/10/12
to
Andre Tann schrieb:

> for %%x in (A B C D E ... Z) DO (
> if exist %%x:\datei.txt echo Das ist das Laufwerk: %%x
> )

In PowerShell etwa so:

[System.IO.DriveInfo]::GetDrives() | foreach {
if (Test-Path (Join-Path $_.RootDirectory 'autoexec.bat')) {
Write-Host ("Das ist Laufwerk {0}" -f $_.RootDirectory)
}
}

--
<http://schneegans.de/computer/safer/> · SAFER mit Windows

0 new messages