วิธีทำให้ Powershell รัน Batch File และคงเปิดอยู่
หากคุณกำลังเปลี่ยนจาก Command Prompt เก่ามายัง Powershell คุณอาจพบปัญหาเล็กน้อย: วิธีการรัน batch file และทำให้หน้าต่าง Powershell เปิดอยู่หลังจากการรันเสร็จสิ้น กระบวนการนี้สามารถช่วยได้เมื่อคุณต้องการทำงานต่อกับผลลัพธ์หรือเช็คข้อมูลโดยไม่ต้องเปิด batch file อีกครั้ง ในโพสต์นี้เราจะอธิบายวิธีการทำให้ทำได้ง่าย ๆ
ปัญหาทั่วไป
ในสภาพแวดล้อม Command Prompt แบบคลาสสิก คุณสามารถรัน batch file และทำให้หน้าต่างเปิดอยู่โดยใช้คำสั่ง:
cmd.exe /k mybatchfile.bat
นี่จะทำให้สคริปต์ mybatchfile.bat
ของคุณทำงานและทำให้ command prompt พร้อมรับคำสั่งต่อไป อย่างไรก็ตาม ใน Powershell สถานการณ์จะแตกต่างออกไปเล็กน้อยและเราจะอธิบายวิธีการแก้ปัญหานี้ให้คุณ
วิธีการแก้ปัญหา: การใช้ธง -noexit
กุญแจสำคัญในการทำให้หน้าต่าง Powershell เปิดอยู่คือการใช้พารามิเตอร์ -noexit
เมื่อเรียก Powershell นี่คือวิธีการทำทีละขั้นตอน:
วิธีการทีละขั้นตอน
-
เปิด Powershell: คุณสามารถเริ่มต้นโดยการเปิดแอปพลิเคชัน Powershell ของคุณ คุณสามารถค้นหา “Powershell” ในแถบค้นหาของ Windows
-
ใส่คำสั่ง: พิมพ์คำสั่งต่อไปนี้ในหน้าต่าง Powershell:
powershell -noexit -command "& 'C:\path\to\your\mybatchfile.bat'"
- การวิเคราะห์คำสั่ง:
powershell
: สิ่งนี้คือการเรียก Powershell เอง-noexit
: ธงนี้ทำให้เซสชัน Powershell ยังคงเปิดอยู่หลังจากคำสั่งทำงาน-command
: รายการนี้บอก Powershell ว่าคุณต้องการเรียกใช้คำสั่ง& 'C:\path\to\your\mybatchfile.bat'
: ส่วนนี้ทำงาน batch file ของคุณ
- การวิเคราะห์คำสั่ง:
-
แก้ไขเส้นทางไฟล์: ตรวจสอบให้แน่ใจว่าคุณได้แทนที่
C:\path\to\your\mybatchfile.bat
ด้วยเส้นทางที่แท้จริงของ batch file ของคุณในระบบ
ตัวอย่าง
สมมุติว่า batch file ของคุณตั้งอยู่ใน C:\Scripts\mybatchfile.bat
คุณจะพิมพ์:
powershell -noexit -command "& 'C:\Scripts\mybatchfile.bat'"
ผลลัพธ์
โดยการทำตามคำแนะนำเหล่านี้ คุณควรเห็น batch file ทำงานและหน้าต่าง Powershell จะยังคงเปิดอยู่ทำให้คุณสามารถป้อนคำสั่งเพิ่มเติมได้ตามต้องการ วิธีการนี้เป็นวิธีที่ตรงไปตรงมาในการผสมผสาน batch files เข้ากับกระบวนการทำงานใน Powershell โดยไม่ต้องเริ่มต้นใหม่ทุกครั้ง
ความคิดสุดท้าย
การใช้พารามิเตอร์ -noexit
เป็นวิธีที่ง่ายและมีประสิทธิภาพในการรัน batch files ใน Powershell ในขณะที่ทำให้เซสชันของคุณยัง active ซึ่งช่วยให้คุณสามารถจัดการกับสคริปต์และคำสั่งได้อย่างราบรื่นและยืดหยุ่นมากขึ้น
หากคุณมีคำถามเพิ่มเติมหรือต้องพบปัญหาใด ๆ โปรดอย่าลังเลที่จะติดต่อมา! ขอให้สนุกกับการเขียนสคริปต์!