Tôi muốn có thư mục làm việc hiện tại hiển thị trên dòng lệnh powershell, như sẽ được thực hiện trong một dấu nhắc (ví dụ) CMD. Làm thế nào tôi có thể làm như vậy?
Tôi muốn có thư mục làm việc hiện tại hiển thị trên dòng lệnh powershell, như sẽ được thực hiện trong một dấu nhắc (ví dụ) CMD. Làm thế nào tôi có thể làm như vậy?
Câu trả lời:
Hãy xem cái này: http://mshforfun.blogspot.com/2006/05/perinf-prompt-for-windows-powershell.html
Về cơ bản, bạn có thể tạo tệp 'hồ sơ' có tên Microsoft.PowerShell_profile.ps1 sẽ chạy mỗi khi bạn khởi động powershell.
Tùy thuộc vào người mà bạn muốn nó chạy, có một số thư mục bạn có thể đặt tệp này vào (được giải thích trong liên kết ở trên). Nếu chỉ dành cho chính bạn, bạn có thể tạo một thư mục có tên WindowsPowerShell trong thư mục Tài liệu của tôi và đặt nó ở đó.
Nếu bạn đặt chức năng này trong tập tin đó:
function prompt
{
"PS " + $(get-location) + "> "
}
Nó sẽ làm cho lời nhắc của bạn trông như thế này:
PS C:\directory\path\here>
Có rất nhiều thứ khác bạn có thể đặt vào đó, nhưng đó là những điều cơ bản.
LƯU Ý: trước khi bạn có thể sử dụng tập lệnh hồ sơ, bạn sẽ cần chạy "set-execpolicy từ xa" từ quyền hạn - điều này sẽ cho phép bạn chạy các tập lệnh không dấu được viết cục bộ trên máy tính và tập lệnh được ký từ người khác.
$profile.CurrentUserCurrentHost
và $profile.CurrentUserCurrentHost
để xem tập lệnh hồ sơ (người dùng) nào là hợp lệ. Các máy chủ khác nhau (ví dụ: VS so với ISE) có giá trị khác nhau đối với$profile.CurrentUserCurrentHost
Hãy thử như sau:
$CurrentDir = $(get-location).Path;
Ngày nay, điều này hoạt động tốt:
echo "$PWD"
hoạt động khác với
echo $PWD
Chỉ cần đừng quên dấu ngoặc kép :) Sản lượng mẫu bên dưới.
PS C:\Users\user name> echo $PWD
Path
----
C:\Users\user name
PS C:\Users\user name> echo "$PWD"
C:\Users\user name
PS C:\Users\user name>