(1) コマンド「mklink」はどこにありますか? C:\Windows で検索しましたが、結果はありませんでした。
(2) Ubuntu の「which」コマンドのように、%PATH% にフォルダーがある可能性のあるコマンドの絶対パスを調べる一般的な方法はありますか?
答え1
編集: 以下は無視してください。それでも gow をインストールすることをお勧めしますが、Windows の where コマンドを使用することもできます。
https://ss64.com/nt/where.html
私はwhich
Windowsにいますが、それは私がインストールしたからです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 はパス内に見つかりませんでした。@Natsu-kage が言ったように、これは Windows の内部的な問題だと思います。
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"
@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