Câu trả lời:
Sử dụng:
ii .
viết tắt của
Invoke-Item .
Đây là một trong những điều phổ biến nhất mà tôi gõ tại dòng lệnh PowerShell.
ii
là explorer
, param thứ hai là đường dẫn.
Bạn có một vài lựa chọn:
Ví dụ:
PS C:\> explorer
PS C:\> explorer .
PS C:\> explorer /n
PS C:\> Invoke-Item c:\path\
PS C:\> ii c:\path\
PS C:\> Invoke-Item c:\windows\explorer.exe
PS C:\> ii c:\windows\explorer.exe
PS C:\> [diagnostics.process]::start("explorer.exe")
ii
là bí danh củaInvoke-Item
explorer .
explorer
dường như nằm ngoài con đường của tôi
Tôi bắt gặp câu hỏi này để tìm cách mở cửa sổ Explorer từ PowerShell và cũng chọn một tệp. Tôi đang thêm câu trả lời này trong trường hợp những người khác đi qua nó vì lý do tương tự.
Để khởi chạy Explorer và chọn một tệp, sử dụng Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
Có lẽ có nhiều cách khác để làm điều này, nhưng điều này làm việc cho tôi.
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
Hi vọng điêu nay co ich
Tôi muốn viết bài này như một bình luận nhưng tôi không có 50 danh tiếng.
Tất cả các câu trả lời trong chuỗi này về cơ bản là sử dụng Invoke-Item hoặc sử dụng trực tiếp explorer.exe; tuy nhiên, điều này không hoàn toàn đồng nghĩa với "thư mục chứa mở", vì vậy về mặt mở cửa sổ Explorer như trạng thái câu hỏi, nếu chúng tôi muốn áp dụng câu trả lời cho một tệp cụ thể, câu hỏi vẫn chưa thực sự được trả lời.
ví dụ,
Invoke-Item C:\Users\Foo\bar.txt
explorer.exe C:\Users\Foo\bar.html
^ hai lệnh đó sẽ dẫn đến Notepad.exe hoặc Firefox.exe được gọi trên hai tệp tương ứng, không phải là cửa sổ explorer.exe trên C: \ Users \ Foo \ (thư mục chứa).
Trong khi nếu một người đã ban hành lệnh này từ powershell, thì đây sẽ không phải là vấn đề lớn (dù sao cũng ít gõ hơn), nếu một người đang viết kịch bản và cần "mở thư mục chứa" trên một biến, nó trở thành vấn đề khớp chuỗi để trích xuất thư mục từ đường dẫn đầy đủ đến tập tin.
Không có lệnh đơn giản "Thư mục chứa mở" sao cho một biến có thể được thay thế?
ví dụ,
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension