Di Linux, kami memiliki perintah "yang" untuk mencari tahu jalur yang dapat dieksekusi.
Apa itu setara dengan Windows? Apakah ada perintah PowerShell untuk melakukan itu?
Di Linux, kami memiliki perintah "yang" untuk mencari tahu jalur yang dapat dieksekusi.
Apa itu setara dengan Windows? Apakah ada perintah PowerShell untuk melakukan itu?
Jawaban:
Beberapa versi Windows (saya pikir Windows 2003 ke atas) memiliki perintah where:
c:\>where ping
C:\Windows\System32\PING.EXE
wherebekerja untuk saya di Windows 7
where /r c:\ fileNamemenambahkan / rc: \ memungkinkan saya untuk melakukan pencarian rekursif mulai dari root drive C menggunakan Windows 7 Professional tampaknya tidak ada di access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…
where.exe pingkarena wheresecara default alias Where-Objectcmdlet yang merupakan cerita yang sama sekali berbeda
where.exesecara eksplisit daripada wherebekerja untuk saya di PowerShell
Ya, Get-Commandakan menemukan semua perintah termasuk yang dapat dieksekusi:
PS\> Get-Command ipconfig
Jika Anda ingin membatasi perintah hanya untuk executable:
PS\> Get-Command -CommandType Application
Akan menemukan semua ongkos di jalan Anda. Ada alias untuk penggunaan interaktif:
PS\> gcm net* -CommandType Application
Untuk mendapatkan jalur yang dapat dieksekusi, Anda bisa menggunakan Pathproperti objek yang dikembalikan. Sebagai contoh:
PS\> (Get-Command notepad.exe).Path
Untuk info lebih lanjut, jalankan man Get-Command -full.
Jika Anda ingin membuatnya pendek, buat satu baris file that.cmd dengan konten
echo %~$PATH:1
Ini akan mencari parameter pertama (% 1) diumpankan ke skrip dan menampilkan path lengkap file yang ditemukan. Tempat yang baik untuk meletakkan skrip ini di windows 10 adalah% LOCALAPPDATA% \ Microsoft \ WindowsApps \ which.cmd
Dan Anda mendapatkan perintah Anda di jalur.
c:\>which cmd.exe
c:\>echo C:\Windows\System32\cmd.exe
C:\Windows\System32\cmd.exe
where.exesecara eksplisit daripada wherebekerja untuk saya di PowerShell:
PS C:\Users\birdc> where ping
PS C:\Users\birdc> where.exe ping
C:\Windows\System32\PING.EXE
where pingmemberi saya apa pun di PowerShell.
where.exe.