Điểm:-2

Lập trình có được đường dẫn đầy đủ đến nhị phân trong powershell (trong đó, ở đâu, Get-Command)

lá cờ cn

Làm cách nào để tôi có được đường dẫn tuyệt đối đến một nhị phân nhất định và lưu trữ nó vào một biến?

Điều gì tương đương với điều sau đây cho Linux Bash trong Windows Powershell?

user@disp985:~$ path=` which gpg`
user@disp985:~$ echo $path
/usr/bin/gpg
user@disp985:~$ 

user@disp985:~$ $path
gpg: hộp khóa '/home/user/.gnupg/pubring.kbx' được tạo
gpg: CẢNH BÁO: không có lệnh nào được cung cấp. Đang cố đoán xem ý bạn là gì...
gpg: Hãy tiếp tục và nhập tin nhắn của bạn ...

Trong Windows Powershell, có Nhận lệnh, nhưng đầu ra hầu như không tầm thường để phân tích cú pháp theo chương trình cho một tập lệnh.

PS C:\Users\user> Get-Command gpg.exe
 
Loại lệnh Tên phiên bản Nguồn
----------- ---- ------- ------
Ứng dụng gpg.exe 2.2.28.... C:\Program Files (x86)\Gpg4win\..\GnuP...
 
 
PS C:\Người dùng\người dùng>

Làm cách nào tôi có thể lập trình xác định đường dẫn đầy đủ đến một tệp nhị phân đã cho trong Windows Powershell, lưu trữ nó vào một biến và thực thi nó?

lá cờ in
`hầu như không tầm thường để phân tích cú pháp`? PowerShell là hướng đối tượng, không cần phân tích cú pháp bất cứ điều gì. Nó sẽ không trở nên tầm thường hơn.
lá cờ in
Ngoài ra, câu hỏi lạc đề, câu hỏi lập trình thuộc về [so]. Rất có thể câu hỏi này đã được trả lời ở đó.
djdomi avatar
lá cờ za
Tôi đồng ý rằng nó lạc đề do lỗi máy chủ
Michael Altfield avatar
lá cờ cn
không chắc cách gõ lệnh vào thiết bị đầu cuối powershell được lập trình, có vẻ như Lỗi Máy chủ đối với tôi ..
bjoster avatar
lá cờ cn
Thông thường, không cần thiết phải lấy tùy chọn của đối tượng dưới dạng biến (kiểu chuỗi). Chỉ cần sử dụng nó bất cứ nơi nào bạn đang có. Thứ "gần nhất" với đầu ra chuỗi lô (bash) sẽ là `Get-Command format | Định dạng-Danh sách nguồn`, sẽ khá dễ phân tích cú pháp.
Điểm:1
lá cờ cn

Đối với lệnh ví dụ được cung cấp bởi câu hỏi OP:

PS C:\Users\user> Get-Command gpg.exe
 
Loại lệnh Tên phiên bản Nguồn
----------- ---- ------- ------
Ứng dụng gpg.exe 2.2.28.... C:\Program Files (x86)\Gpg4win\..\GnuP...
 
 
PS C:\Người dùng\người dùng>

Bạn có thể trích xuất trường "Nguồn" theo cú pháp sau

PS C:\Users\user> $(Get-Command gpg.exe).Source
C:\Tệp chương trình (x86)\Gpg4win\..\GnuPG\bin\gpg.exe

Sau đó, bạn cũng có thể lưu trữ nó vào một biến và thực thi nó với dấu và (&) trước biến đó

PS C:\Users\user> $path=$(Get-Command gpg.exe).Source
PS C:\Users\user> echo $path
C:\Tệp chương trình (x86)\Gpg4win\..\GnuPG\bin\gpg.exe
PS C:\Users\user> & $path
gpg: CẢNH BÁO: không có lệnh nào được cung cấp. Đang cố đoán xem ý bạn là gì...
gpg: Hãy tiếp tục và nhập tin nhắn của bạn ...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.