encontre um diretório e abra-o no Windows com cmd

encontre um diretório e abra-o no Windows com cmd

existe alguma maneira de encontrar o diretório de um arquivo ("example.txt") e, se encontrar o arquivo, abra o diretório (como "c:\example\sub\") no cmd (ou vb)? é claro que procuramos em todas as partições, não apenas em "C:\".

Responder1

Execute o seguinte comando na raiz de cada uma de suas unidades.

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

O comando acima irá encontrar todos os arquivos chamados "example.txt" e então executar o explorer no diretório onde eles estão localizados.

Se você deseja usar um arquivo em lote, cada um %precisa ser substituído por %%:

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

Para obter uma lista de unidades:

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

Em um arquivo em lote:

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

Juntando tudo em um arquivo em lote:

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
)

Para parar após a primeira partida:

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
    )
)

Responder2

Isso localizará todos os arquivos com as extensões fornecidas no diretório de trabalho atual e em todos os subdiretórios:

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

Isso funcionará para arquivos que começam com "pyth"

dir pyth*

você pode estender este exemplo.

Para abrir o local do arquivo (ou seja, a pasta), você pode cdacessar o resultado e digitar

explorer .

ou

start .

Se não quiser usar cd, você pode passar o local do arquivo dirpara o comando explorerou start.

Para adaptar isso em um loop for para cada unidade montada, confira esta postagem do Stackoverflow:

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

informação relacionada