Trả lời

7

Tương đương là Get-Command.

PS C:\> Get-Command ls 

CommandType  Name  Definition 
-----------  ----  ---------- 
Alias   ls   Get-ChildItem 
Application  ls.exe  D:\usr\local\wbin\ls.exe 
Application  ls.exe  C:\Program Files (x86)\Git\bin\ls.exe 

Windows 10 Cập nhật:

Kể từ khi tôi đã đăng câu trả lời này, dường như hành vi của Get-Command đã thay đổi. Bao gồm tất cả kết quả (trong phong cách của Un * x) type), bây giờ tôi cần phải vượt qua -All cờ, như vậy:

PS C:\> Get-Command -All ls 

CommandType  Name     Version Source 
-----------  ----     ------- ------ 
Alias   ls -> Get-ChildItem 
Application  ls.exe    0.0.0.0 C:\Program Files (x86)\Git\usr\bin\ls.exe 

Như đã đề cập trong một chú thích, này không bao gồm cácDefinition cột như là hành vi trước đó. Tôi không thể xác định một đối số dòng lệnh để thêm cột định nghĩa, nhưng như đã nói bởi @voutasaurus trong bình luận dưới đây, người ta có thể sử dụng:

PS C:\> (Get-Command -All ls).Definition 
Get-ChildItem 
C:\Program Files (x86)\Git\usr\bin\ls.exe 

Version thông tin để tham khảo (tôi odn't có phiên bản thông tin liên quan đến văn bản trả lời ban đầu, nhưng tôi đoán rằng đó là Windows 7):

PS C:\> [System.Environment]::OSVersion.Version 

Major Minor Build Revision 
----- ----- ----- -------- 
10  0  15063 0 
+0

Điều này không hoạt động đối với các hàm được xác định trong cấu hình $, trong khi kiểu trả về định nghĩa hàm trong bash. – voutasaurus

+0

Tôi nhận được điều này: > Get-Command Get-Command CommandType Name Version Nguồn ----------- ---- ------- ---- - Cmdlet Get-Command 3.0.0.0 Microsoft.PowerShell.Core Nếu bạn sử dụng (Get-Command Get-Command) .Định nghĩa sau đó bạn thực sự có được định nghĩa. – voutasaurus

+0

Cảm ơn @ voutasaurus mà phải thay đổi kể từ khi câu trả lời được đăng. Tôi đã sửa đổi câu trả lời với đề xuất của bạn. – pb2q

1

Vì bạn gắn thẻ này với Shell, ngoài PowerShell của Get-Command, có where.exe:

PS C:\> where.exe notepad 
C:\Windows\System32\notepad.exe 
C:\Windows\notepad.exe 

Lệnh chỉ trông cho một tập tin với tên được chỉ định thông qua đường dẫn:

PS C:\> where.exe readme.* 
C:\Python31\README.txt 
C:\Program Files (x86)\wget\README 
C:\Program Files (x86)\SysinternalsSuite\readme.txt 

Lưu ý rằng khi gọi lệnh này từ PowerShell, bạn phải gọi nó như where.exeWhere-Object là bí danh của where.

Các vấn đề liên quan