Tôi chắc chắn điều này là có thể, nhưng tôi không thể tìm ra cách để làm điều đó.Có thể mở một cửa sổ Windows Explorer từ PowerShell không?
Bất kỳ manh mối nào?
Tôi chắc chắn điều này là có thể, nhưng tôi không thể tìm ra cách để làm điều đó.Có thể mở một cửa sổ Windows Explorer từ PowerShell không?
Bất kỳ manh mối nào?
Sử dụng:
ii .
Đây là một trong những điều chung nhất mà tôi gõ vào lệnh PowerShell hàng.
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
Hope this helps
Tôi không biết tại sao điều này là nhận được bình chọn xuống - Tôi có thể nhìn thấy không bỏ phiếu nó lên cho sự thiếu sang trọng, nhưng nó vẫn là một tốt (mặc dù wordy) trả lời :) Bạn nhận được UP của tôi. – slipsec
Tôi đồng ý. Đó là mã nhiều hơn, nhưng nó cho phép một số linh hoạt. –
Chỉ cần sử dụng lệnh invoke-item. Ví dụ, nếu bạn muốn mở một cửa sổ thám hiểm trên thư mục hiện tại bạn có thể làm:
invoke-item .
explorer .
Đây là những gì tôi đã sử dụng trong nhiều năm, nhưng gần đây 'explorer' dường như là con đường của tôi – DaveD
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")
Bắt đầu explorer.exe
Simple dòng lệnh
"bắt đầu". cũng hoạt động như –
Tôi đã xem qua câu hỏi này tìm kiếm một cách để mở một cửa sổ Explorer từ PowerShell và cũng chọn một tập tin. Tôi đang thêm câu trả lời này trong trường hợp những người khác bắt gặp nó vì cùng một lý do.
Để khởi chạy Explorer và chọn một tập tin, sử dụng Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
Có lẽ những cách khác để làm điều này, nhưng điều này đã làm việc cho tôi.
Tôi muốn viết thư này làm nhận xét 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 explorer.exe trực tiếp; tuy nhiên, điều này không hoàn toàn đồng nghĩa với "thư mục chứa mở", do đó, về việc mở cửa sổ Explorer như câu hỏi nêu rõ, nếu chúng ta muốn áp dụng câu trả lời cho một tập tin cụ thể 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ẽ cho kết quả trong Notepad.exe hoặc firefox.exe được gọi vào hai tập tin tương ứng, không phải là một cửa sổ explorer.exe vào C: \ Users \ Foo \ (thư mục chứa).
Trong khi nếu một người phát hành lệnh này từ PowerShell, điều này sẽ không có vấn đề gì (nếu gõ ít hơn), nếu một tập lệnh và cần "mở thư mục chứa" trên một biến, nó sẽ trở thành vấn đề của chuỗi trích xuất thư mục từ đường dẫn đầy đủ đến tệp.
Không có lệnh đơn giản "Open-Containing-Folder" 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
Invoke-Item ([io.fileinfo] "C: \ temp \ file.txt"). Thư mục –
Một giải pháp thay thế về cơ bản là giống nhau nhưng giữ tất cả trong lệnh ghép ngắn Powershell: *** ii (Split-Path) "C: \ temp \ file.txt") *** – EBGreen
Sử dụng dòng này:
invoke-item c:\path
Sử dụng bất kỳ trong số này:
start .
explorer .
start explorer .
ii .
invoke-item .
Bạn có thể áp dụng bất kỳ các lệnh trong PowerShell.
Chỉ trong trường hợp bạn muốn mở khám phá từ dấu nhắc lệnh, hai lệnh cuối cùng không hoạt động và ba lệnh đầu tiên hoạt động tốt.
Đây là điều duy nhất mà phù hợp với ràng buộc duy nhất của tôi
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")
Thật buồn cười khi không ai trả lời câu trả lời đơn giản nhất này nhưng bạn. :) – halr9000
Tôi là một người rất đơn giản. – EBGreen
Lệnh này là viết tắt của Invoke-Item. Dấu chấm sau đó có thể là bất kỳ đường dẫn nào. –