(1) Где находится команда "mklink"? Я искал ее в C:\Windows, но результата нет.
(2) Существует ли универсальный способ, подобный команде «which» в Ubuntu, чтобы узнать абсолютный путь к команде, папка которой может находиться в %PATH%?
решение1
Редактировать: игнорируйте нижеизложенное, хотя я все равно рекомендую установить gow, вы можете просто использовать команду where в окне:
https://ss64.com/nt/where.html
У меня в Windows есть which
, но это потому, что я установилhttps://github.com/bmatzelle/gow/wiki
GOW which
просматривает папки в PATH, чтобы попытаться найти там скрипт/исполняемый файл (или, по крайней мере, я так предполагаю, это кажется разумным предположением)
Например:
C:\>which python
C:\Users\Almenon\AppData\Local\Programs\Python\Python36\python.EXE
Или даже:
C:\>which which
C:\Program Files (x86)\Gow\bin\which.EXE
К сожалению, mklink не был найден в path, так что, полагаю, это какая-то внутренняя штука Windows, как сказал @Natsu-kage
C:\>which mklink
which: no mklink in (.;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Python36\Scripts\;C:\Program Files\Python36\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\Gow\bin;C:\Program Files\Redis\;C:\Program Files\GTK3-Runtime Win64\bin;C:\Program Files (x86)\Yarn\bin\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\nodejs\;C:\Users\almenon\AppData\Local\Programs\Python\Python36\Scripts\;C:\Users\almenon\AppData\Local\Programs\Python\Python36\;C:\Users\almenon\AppData\Local\Microsoft\WindowsApps;C:\Users\almenon\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\almenon\AppData\Roaming\npm;C:\Users\almenon\AppData\Local\Yarn\bin;C:\Users\almenon\AppData\Roaming\Python\Python36\Scripts;C:\Users\almenon\AppData\Local\Programs\Git\cmd;C:\Users\almenon\Google Drive\Dev\dev setup)
решение2
- Некоторые предложения по использованию команды where
where.exe
/
- Для поиска во всех папках/подпапках на текущем диске:
%__APPDIR__%where.exe /r \ mklink.*
- Для поиска во всех подпапках на текущем диске:папка:
%__APPDIR__%where.exe /r "." mklink.*
- Для поиска только в текущей папке (не во вложенных папках) на текущем диске:папка:
%__APPDIR__%where.exe ".:mklink.*"
- Для поиска всех путей в переменной %PATH%:
%__APPDIR__%where.exe "%path%:mklink.*"
- Для сохранения результатов в переменной в командной строке:
for /f delims^= %i in ('%__APPDIR__%where.exe "%path%:mklink.exe"')do set "_path_to_file=%~dpi" && set "_full_path=%~fi"
- Чтобы сохранить результаты в переменной в командной строке:
for /f delims^= %i in ('%__APPDIR__%where.exe "%path%:mklink.exe"')do set "_path_to_file=%~dpi" && set "_full_path=%~fi"
- Чтобы сохранить результаты в переменной влетучая мышь/cmdфайл:
@echo off & for /f delims^= %%i in ('%__APPDIR__%where.exe "%path%:mklink.exe"')do set "_path_to_file=%%~dpi" && set "_full_path=%%~fi"
Наблюдение: where
всегда возвращает полный путь к файлу.
%__APPDIR__%where.exe "%path%:mshta.exe"
rem :: results ::
C:\Windows\System32\mshta.exe