-1

Я знаю команду, чтобы показать все пути в PATH

echo %path:;=&echo.%

Но как с командой exist чеч, если существует

2 ответа2

1

Просто, как сказать @Ramhound разбор строки и использовать для

for %%i in (%path:;=,%) do (exist %%i)
0

Нет такой однострочной команды, которая сделала бы это, но я включил требования в следующий пакетный код:-

@echo off
setlocal enabledelayedexpansion
set P=%PATH%
:Loop
for /f "delims=; tokens=1*" %%f in ("!P!") do (
    if exist "%%f"\*.* ( echo "%%f": valid ) else ( echo "%%f": not a directory )
    set P=%%g
    if not "%%g" == "" goto Loop
)

Я искал способы избежать goto , но в конце концов было проще его использовать.

Команда for сначала разбивает %P% на %%f и %%g ; ,

Обратите внимание на требование для отложенного расширения, так что P будет расширяться с его текущим значением на каждом проходе цикла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .