(1) Wo ist der Befehl "mklink"? Ich habe C:\Windows danach gesucht, aber kein Ergebnis gefunden.
(2) Gibt es eine allgemeine Möglichkeit wie den Befehl „which“ in Ubuntu, um den absoluten Pfad eines Befehls herauszufinden, dessen Ordner sich möglicherweise in %PATH% befindet?
Antwort1
Bearbeiten: Ignorieren Sie das Folgende. Obwohl ich dennoch die Installation von Gow empfehle, können Sie einfach den Where-Befehl von Windows verwenden:
https://ss64.com/nt/where.html
Ich habe which
in Windows, aber das ist, weil ich installierthttps://github.com/bmatzelle/gow/wiki
GOW which
durchsucht die Ordner in PATH, um zu versuchen, das Skript/die ausführbare Datei dort zu finden (oder zumindest nehme ich das an, es scheint eine vernünftige Annahme zu sein).
Zum Beispiel:
C:\>which python
C:\Users\Almenon\AppData\Local\Programs\Python\Python36\python.EXE
Oder auch:
C:\>which which
C:\Program Files (x86)\Gow\bin\which.EXE
Leider wurde mklink nicht im Pfad gefunden, also nehme ich an, dass es sich um ein internes Windows-Ding handelt, wie @Natsu-kage sagte
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)
Antwort2
- Einige Verwendungsvorschläge für den Where-Befehl
where.exe
/
- So suchen Sie in allen Ordnern/Unterordnern im aktuellen Laufwerk:
%__APPDIR__%where.exe /r \ mklink.*
- Um in allen Unterordnern im aktuellen Laufwerk zu suchen:Ordner:
%__APPDIR__%where.exe /r "." mklink.*
- Um nur im aktuellen Ordner (nicht in Unterordnern) im aktuellen Laufwerk zu suchen:Ordner:
%__APPDIR__%where.exe ".:mklink.*"
- Um in allen Pfaden in der Variable %PATH% zu suchen:
%__APPDIR__%where.exe "%path%:mklink.*"
- So speichern Sie Ergebnisse in einer Variablen: in der Befehlszeile:
for /f delims^= %i in ('%__APPDIR__%where.exe "%path%:mklink.exe"')do set "_path_to_file=%~dpi" && set "_full_path=%~fi"
- So speichern Sie die Ergebnisse in einer Variablen in der Befehlszeile:
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"
Bem.: where
gibt immer den vollständigen Pfad zur Datei zurück.
%__APPDIR__%where.exe "%path%:mshta.exe"
rem :: results ::
C:\Windows\System32\mshta.exe