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
where
bekerja untuk saya di Windows 7
where /r c:\ fileName
menambahkan / 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 ping
karena where
secara default alias Where-Object
cmdlet yang merupakan cerita yang sama sekali berbeda
where.exe
secara eksplisit daripada where
bekerja untuk saya di PowerShell
Ya, Get-Command
akan 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 Path
properti 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.exe
secara eksplisit daripada where
bekerja untuk saya di PowerShell:
PS C:\Users\birdc> where ping
PS C:\Users\birdc> where.exe ping
C:\Windows\System32\PING.EXE
where ping
memberi saya apa pun di PowerShell.
where.exe
.