เราจะเริ่ม Powershell ISE โดยไม่เปิดไฟล์ได้อย่างไร


2

เมื่อฉันเปิดใช้powershell_ise.exeมันจะมีค่าเริ่มต้นเป็นไฟล์ "Untitled.ps1" ที่เปิดอยู่ มีกลไกที่จะถาม ISE เพื่อให้แสดงเฉพาะพรอมต์หรือไม่?

นั่นคือในตอนที่ฉันเปิดตัว Powershell ISE ฉันได้รับสิ่งต่อไปนี้:

PowerShell ด้วยเอกสารเปล่า

ในขณะที่ฉันต้องการต่อไปนี้:

PowerShell ที่ไม่มีเอกสาร


ทำไมคุณไม่ลองเปิด PowerShell?
Tanner Faulkner

1
@ แทนเนอร์: การสนับสนุน Unicode, Intellisense, echo ที่เร็วขึ้น ฯลฯ
Billy ONeal

คุณหมายถึงสิ่งนี้: i.imgur.com/yr3xSRu.png - นั่นคือ Windows 8 powershell ISE เริ่มต้นของฉัน - มีแค่คอนโซลใช่ไหม
ซามูเอลนิโคลสัน

คำตอบ:


2

คำถามเก่า ๆ ในตอนนี้ แต่ฉันเพิ่งได้รับการสนับสนุนจาก@Windosเพื่อหาทางออกที่เหมาะกับฉัน เนื่องจากฉันใช้ ISE-เตียรอยด์จึงมีคุณสมบัติในการคงไฟล์ที่เปิดอยู่ ฉันไม่ต้องการที่จะปิดไฟล์ที่เปิดทั้งหมดเมื่อเริ่มต้นเพียงแค่ไม่มีชื่อ

foreach($file in $psISE.CurrentPowerShellTab.Files) {
  if ($file.DisplayName -like "Untitled*.ps1"){
    $deleteMe = $file
  }
}
$psISE.CurrentPowerShellTab.Files.Remove($deleteMe)

การพยายามลบไฟล์ขณะอยู่ใน for for loop จะทำให้เกิดข้อผิดพลาดในการแจงนับ หากสคริปต์ที่ไม่มีชื่อหลายรายการเปิดเมื่อเริ่มต้น$deletemeอาจเป็นรายการอาร์เรย์ที่เพิ่มไฟล์หลายไฟล์ด้วยตัวเองforeachเพื่อลบสคริปต์ทั้งหมด


1

นี่เป็นคำถามเก่าตอนนี้ แต่ฉันมาที่นี่เพื่อหาคำตอบฉันจึงคิดว่าฉันจะให้ผลลัพธ์การทดลองของฉัน

มี$psISEวัตถุที่ควบคุมการตั้งค่า ISE ไฟล์ที่เปิดเป็นต้นมีหลายสิ่งที่คุณสามารถทำได้

มีฟังก์ชั่นการค้นหาที่มีแนวโน้ม:

$psISE.CurrentPowerShellTab.Files.Clear()

น่าเสียดายที่สิ่งนี้จะปิดไฟล์ที่เปิดอยู่ทั้งหมด (หากบันทึกไว้) จากนั้นเปิดไฟล์ใหม่ที่ไม่มีชื่อ

ฉันลงเอยด้วยสิ่งนี้:

$null = while ($psISE.CurrentPowerShellTab.Files -ne $null) {
    $file = $psISE.CurrentPowerShellTab.Files[0]
    $psISE.CurrentPowerShellTab.Files.Remove($file)
}

โดยพื้นฐานแล้วมันจะทำการตรวจสอบไฟล์ที่เปิดอยู่และจะปิดจนกว่าจะไม่มีไฟล์ใดเหลืออยู่เปิด หากคุณต้องเปิดใช้งานการโต้ตอบนี้และเปิดเอกสารที่ไม่ได้บันทึกคุณจะถูกน้ำท่วมด้วยข้อผิดพลาดอย่างรวดเร็วเนื่องจากไม่สามารถปิดได้จากนั้นจึงวนกลับเพื่อพยายามปิดอีกครั้ง

จากนั้นคุณสามารถวางสิ่งนี้ลงในโปรไฟล์ ISE ของคุณ (C: \ ชื่อผู้ใช้ \ WindowsPowerShell \ Microsoft.PowerShellISE_profile.ps1) นี่คือสิ่งที่โปรไฟล์ของฉันดูเหมือนในขณะนี้:

$null = while ($psISE.CurrentPowerShellTab.Files -ne $null) {
    $file = $psISE.CurrentPowerShellTab.Files[0]
    $psISE.CurrentPowerShellTab.Files.Remove($file)
}

psEdit $PSScriptRoot\snips.ps1

ตั้งแต่นี้จะทำงานเมื่อเปิดตัว ISE มันจะปิดไฟล์ไม่มีชื่อเริ่มต้นและเปิดไฟล์สุ่มที่มีตัวอย่างเล็ก ๆ น้อย ๆ ที่ฉันต้องการอ้างถึงแทน คุณสามารถละเว้นบรรทัดสุดท้ายนั้นหรือเปลี่ยนเป็นไฟล์ใดก็ได้ที่คุณต้องการเปิด

หมายเหตุที่$null =อยู่ที่นั่นเพื่อระงับเอาต์พุตและเร็วกว่าการไพพ์ถึงOut-Null(ซึ่งฉันคิดว่าสำคัญเมื่อคุณรอให้ตัวแก้ไขโหลด)


1

เพียงปรับViewการตั้งค่าของคุณในเมนู

  • ยกเลิกการเลือกบานหน้าต่างแสดงสคริปต์
  • ไม่เลือกเครื่องหมายแสดงคำสั่ง Add-On
  • ยกเลิกการเลือกแถบเครื่องมือแสดง
  • ยกเลิกการเลือกตัวเลือกอื่น ๆ ตามต้องการ

ป้อนคำอธิบายรูปภาพที่นี่


จะสาบานได้ไหมว่าฉันลองสิ่งนี้ หากคุณปิดอินสแตนซ์ของ ISE ทั้งหมดและเริ่มต้นใหม่อีกครั้งจำได้หรือไม่
Billy ONeal

มันใช้งานได้สำหรับฉัน
Keltari
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.