ฉันแน่ใจว่าสิ่งนี้จะต้องเป็นไปได้ แต่ฉันไม่สามารถหาวิธีการได้
เบาะแสใด ๆ
ฉันแน่ใจว่าสิ่งนี้จะต้องเป็นไปได้ แต่ฉันไม่สามารถหาวิธีการได้
เบาะแสใด ๆ
คำตอบ:
ใช้:
ii .
ซึ่งสั้นสำหรับ
Invoke-Item .
เป็นหนึ่งในสิ่งที่พบบ่อยที่สุดที่ฉันพิมพ์ในบรรทัดคำสั่ง PowerShell
ii
คือexplorer
, พารามิเตอร์ที่สองคือเส้นทาง
คุณมีตัวเลือกน้อย:
ตัวอย่าง:
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
เป็นนามแฝงของInvoke-Item
ใช้สิ่งเหล่านี้:
start .
explorer .
start explorer .
ii .
invoke-item .
คุณอาจใช้คำสั่งใด ๆ เหล่านี้ใน PowerShell
ในกรณีที่คุณต้องการเปิด explorer จากพรอมต์คำสั่งคำสั่งสองคำสั่งสุดท้ายไม่ทำงานและสามข้อแรกก็ใช้ได้
เพียงใช้Invoke-Item
cmdlet ตัวอย่างเช่นถ้าคุณต้องการเปิดหน้าต่าง explorer ในไดเรกทอรีปัจจุบันคุณสามารถทำได้:
Invoke-Item .
ฉันมาข้ามคำถามนี้มองหาวิธีที่จะเปิดหน้าต่าง Explorer ได้จาก PowerShell และยังเลือกไฟล์ ฉันกำลังเพิ่มคำตอบนี้ในกรณีที่คนอื่นเจอด้วยเหตุผลเดียวกัน
ในการเปิดใช้ Explorer และเลือกไฟล์ให้ใช้Invoke-Expression
:
Invoke-Expression "explorer '/select,$filePath'"
อาจมีวิธีอื่นในการทำเช่นนี้ แต่สิ่งนี้ได้ผลสำหรับฉัน
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = "explorer.exe"
$startinfo.WorkingDirectory = 'D:\foldername'
[System.Diagnostics.Process]::Start($startinfo)
หวังว่านี่จะช่วยได้
start explorer.exe
คำสั่งบรรทัดเดียวง่าย
ฉันต้องการที่จะเขียนสิ่งนี้เป็นความคิดเห็น แต่ฉันไม่ได้มี 50 ชื่อเสียง
คำตอบทั้งหมดในชุดข้อความนี้มีจุดประสงค์เพื่อใช้ Invoke-Item หรือใช้ explorer.exe โดยตรง อย่างไรก็ตามสิ่งนี้ไม่ได้มีความหมายเหมือนกันอย่างสมบูรณ์กับ "โฟลเดอร์เปิดที่มี" ดังนั้นในแง่ของการเปิดหน้าต่าง Explorer ตามที่ระบุคำถามหากเราต้องการใช้คำตอบกับไฟล์เฉพาะคำถามที่ยังไม่ได้รับคำตอบจริงๆ
เช่น,
Invoke-Item C:\Users\Foo\bar.txt
explorer.exe C:\Users\Foo\bar.html
^ ทั้งสองคำสั่งจะส่งผลให้ Notepad.exe หรือ Firefox.exe ถูกเรียกใช้ในสองไฟล์ตามลำดับไม่ใช่หน้าต่าง explorer.exe บน C: \ Users \ Foo \ (ไดเรกทอรีที่มี)
ในขณะที่หากมีใครออกคำสั่งนี้จาก powershell นี่จะไม่ใช่เรื่องใหญ่ (พิมพ์น้อยกว่าอยู่ดี) ถ้ามีสคริปต์และต้องการ "เปิดโฟลเดอร์ที่มี" ในตัวแปรมันจะกลายเป็นเรื่องของการจับคู่สตริงเพื่อแยกไดเรกทอรีจาก พา ธ แบบเต็มไปยังไฟล์
ไม่มีคำสั่งง่าย ๆ "Open-Containing-Folder" หรือไม่ที่ตัวแปรสามารถทดแทนได้?
เช่น,
$foo = "C:\Users\Foo\foo.txt"
[some code] $fooPath
# opens C:\Users\Foo\ and not the default program for .txt file extension
นี่เป็นสิ่งเดียวที่เหมาะสมกับข้อ จำกัด ที่ไม่ซ้ำกันของฉันที่ต้องการให้โฟลเดอร์เปิดเป็นQuizo Tabในหน้าต่าง Explorer ที่มีอยู่
$objShell = New-Object -ComObject "Shell.Application"
$objShell.Explore("path")