Có cách nào để thay đổi vị trí mặc định của PowerShell không?
Làm cách nào để bạn đặt thư mục làm việc mặc định của PowerShell?
Có cách nào để thay đổi vị trí mặc định của PowerShell không?
Làm cách nào để bạn đặt thư mục làm việc mặc định của PowerShell?
Câu trả lời:
Bạn có thể chỉ định thư mục để mở khi khởi động PowerShell:
powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"
Chỉ cần sử dụng nó trong phím tắt của bạn.
Hoặc sử dụng một cấu hình để đặt thư mục bắt đầu.
pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
Tạo một cấu hình PowerShell như sau.
Chạy PowerShell với tư cách quản trị viên và thực hiện lệnh sau:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Điều này sẽ cho phép PowerShell chạy các tập lệnh cục bộ và các tập lệnh được tải xuống từ Internet đã được ký. Đọc thêm về lệnh này trong tài liệu .
Trong Documents
thư mục của bạn , hãy tìm một thư mục được đặt tên WindowsPowerShell
cho PowerShell cổ điển hoặc PowerShell
cho PowerShell Core mới hơn. Nếu nó không tồn tại, đó là ok; chỉ cần tạo ra nó.
profile.ps1
trong WindowsPowerShell
thư mục (hoặc PowerShell
cho PowerShell Core).Mở profile.ps1
và thêm lệnh sau để đặt thư mục làm việc mặc định của bạn:
Set-Location C:\my\default\working\directory
Mở một cửa sổ PowerShell mới ... các thay đổi sẽ có hiệu lực.
powershell -File "myscript.ps1"
powershel -NoProfile -File "myscript.ps1"
Tôi đã thử các câu trả lời trên trong Windows Server 2016 mà không thành công.
Nhưng tôi thấy cách tiếp cận này (nó phải giống với Windows 10) phù hợp với tôi.
Làm xong!
Trong cùng hộp thoại Thuộc tính, bạn cũng có thể thay đổi nhiều cài đặt khác như phông chữ, màu sắc, kích thước và trên tab Lối tắt ở đó thông qua nút Advanced. Bạn có thể chọn xem phiên PowerShell đó có được chạy với đặc quyền của quản trị viên hay không.
Run as administrator
trong .lnk
menu nâng cao. Giải pháp dường như nằm ở đây stackoverflow.com/questions/31622469/…
Run as aministrator
hộp kiểm thay đổi qua lại.
Một cách dễ dàng hơn để đặt thư mục mặc định là:
Nhấp chuột phải vào biểu tượng Windows PowerShell trong Start và một lần nữa nhấp chuột phải vào Windows PowerShell và chọn Thuộc tính (không phải Run as Administrator và không phải Windows PowerShell ISE )
Việc đưa Set-Location
vào hồ sơ của bạn sẽ thay đổi vô điều kiện thư mục làm việc hiện tại, điều này có thể gây ra những hậu quả không mong muốn liên quan đến thư mục làm việc cho các tập lệnh mà bạn thực thi thông qua "chạy với PowerShell".
Một giải pháp thay thế là thay đổi thư mục làm việc cho các .lnk
tệp thành PowerShell thường thấy %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell
. Nhấp chuột phải vào một liên kết và thay đổi thư mục làm việc từ %HOMEDRIVE%%HOMEPATH%
thư mục bạn muốn.
Run as administrator
trong .lnk
menu nâng cao. Giải pháp có vẻ là ở đây stackoverflow.com/questions/31622469/…
-NoProfile
tùy chọn như powershell -NoProfile -File "myscript.ps1"
Nhập cái này vào PowerShell:
New-Item -path $profile -type file –force
Nó tạo một tệp .ps1 trong thư mục PowerShell. Mở nó và chỉnh sửa nó thành:
Set-location C:\files
Làm xong
Tham khảo liên kết này. Nó hoạt động tốt.
Thay vì thay đổi vô điều kiện thư mục làm việc như đã đề cập trong các câu trả lời trước, bạn có thể viết một hàm đơn giản trong cấu hình PowerShell để sử dụng Set-Location
nhằm thay đổi nhanh thư mục làm việc bất cứ khi nào cần thiết.
Kiểm tra câu trả lời của Jeremy Danyow để tạo / sửa đổi cấu hình PowerShell.
Thêm (các) chức năng vào hồ sơ PowerShell của bạn:
function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}
Chỉ cần thay đổi tên hàm và thư mục được trỏ đến. Sử dụng dấu ngoặc kép trên đường dẫn là bắt buộc nếu nó chứa khoảng trắng. Tôi cố gắng giữ tiền tốgoto_
vì nó giúp nhớ tên các hàm.
Bạn có thể bắt đầu nhập, goto_
sau đó nhấn TAB để duyệt qua tất cả các chức năng đã thêm (hãy nhớ khởi động cửa sổ PowerShell mới sau khi thêm / sửa đổi các chức năng).
Chỉ sử dụng dòng lệnh, nếu tệp đã tồn tại, tệp sẽ thêm vào đó:
$(if (-Not (Test-Path ~\Documents\WindowsPowerShell\)){ mkdir ~\Documents\WindowsPowerShell\}) ; echo "Set-Location c:\THELOCATIONYOUWANT" >> ~\Documents\WindowsPowerShell\profile.ps1
Cùng với đó, dường như có một số nhầm lẫn về "thư mục làm việc" và "vị trí" của PowerShell. Điều mà hầu hết mọi người ở đây đang làm và nói phải làm là thay đổi "vị trí" của PowerShell. "Thư mục làm việc" thực sự khác nhau. Đây là một bài báo giải thích nó.
Đối với những người không muốn đọc bài viết: Mở PowerShell và sử dụng những gì người khác đã nói để làm Set-Location "C:\some\directory"
. Lưu ý rằng "thư mục làm việc" của bạn vẫn là nơi PowerShell của bạn đã được mở tại. Hoặc "~"
hoặc "%SYSTEMROOT%\system32"
tùy thuộc vào việc bạn có chạy với tư cách quản trị viên hay không. Để kiểm tra thư mục làm việc, hãy sử dụng [Environment]::CurrentDirectory
.
Lưu ý: trong bài viết tác giả nói để kiểm tra "thư mục làm việc" bằng cách sử dụng lệnh này:
\[Environment\]::CurrentDirectory
Tôi không chắc liệu điều này có hoạt động với các phiên bản PowerShell cũ hơn hay không, nhưng với PowerShell 5 (và mới hơn) bạn phải sử dụng [Environment]::CurrentDirectory
.