Suchen Sie ein Verzeichnis und öffnen Sie es in Windows mit cmd

Suchen Sie ein Verzeichnis und öffnen Sie es in Windows mit cmd

gibt es evtl. eine Möglichkeit, das Verzeichnis einer Datei („example.txt“) zu finden und dann, wenn die Datei gefunden wird, das Verzeichnis (wie „c:\example\sub\“) mit cmd (oder vb) zu öffnen? Natürlich wird dabei in allen Partitionen gesucht, nicht nur in „C:\“.

Antwort1

Führen Sie den folgenden Befehl vom Stammverzeichnis jedes Ihrer Laufwerke aus.

for /f "delims=" %a in ('dir /s /b example.txt') do explorer %~dpa

Der obige Befehl findet alle Dateien mit dem Namen „example.txt“ und führt dann den Explorer in dem Verzeichnis aus, in dem sie sich befinden.

Wenn Sie eine Batchdatei verwenden möchten, %muss jedes durch Folgendes ersetzt werden %%:

for /f "delims=" %%a in ('dir /s /b example.txt') do explorer %%~dpa

So erhalten Sie eine Liste der Laufwerke:

for /f "skip=1 delims=" %a in ('wmic logicaldisk get caption') do @echo %a

In einer Batchdatei:

for /f "skip=1 delims=" %%a in ('wmic logicaldisk get caption') do @echo %%a

Alles in einer Batchdatei zusammenfassen:

for /f "skip=1 delims=" %%a in ('wmic logicaldisk get caption') do (
    cd %%a
    cd \
    for /f "delims=" %%b in ('dir /s /b example.txt') do explorer %%~dpb
)

So beenden Sie nach dem ersten Spiel:

for /f "skip=1 delims=" %%a in ('wmic logicaldisk get caption') do (
    cd %%a
    cd \
    for /f "delims=" %%b in ('dir /s /b example.txt') do (
        explorer %%~dpb
        exit
    )
)

Antwort2

Dadurch werden alle Dateien mit den angegebenen Erweiterungen im aktuellen Arbeitsverzeichnis und allen Unterverzeichnissen gefunden:

dir *.cpp *.h *.java /b/s

Dies wird für Dateien durchgeführt, die mit „pyth“ beginnen.

dir pyth*

Sie können dieses Beispiel erweitern.

Um den Dateispeicherort (also den Ordner) zu öffnen, können Sie cdzum Ergebnis entweder

explorer .

oder

start .

Wenn Sie es nicht verwenden möchten cd, können Sie den Dateispeicherort an dirden Befehl explorer„oder“ übergeben start.

Um dies in eine For-Schleife für jedes gemountete Laufwerk umzuwandeln, sehen Sie sich diesen Stackoverflow-Beitrag an:

https://stackoverflow.com/questions/5709189/batch-script-to-find-drive-letter-of-a-mounted-device

verwandte Informationen