ฉันสามารถเรียกใช้ไฟล์แบตช์ของ Windows โดยไม่แสดงพรอมต์คำสั่งที่มองเห็นได้หรือไม่
ไฟล์แบทช์เป็นวิธีที่สะดวกในการเรียกใช้ชุดคำสั่งใน Windows แต่มีวิธีใดบ้างที่จะเรียกใช้งานพวกมันในเบื้องหลัง อ่านต่อเพื่อหาวิธี.
เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.
คำถาม
Jake ผู้อ่าน SuperUser ต้องการเรียกใช้ไฟล์ BAT อย่างล่องหนเขาเขียนว่า:
ฉันได้ติดตั้งพลอยทับทิมที่เรียกว่า Redcar ซึ่งเปิดตัวจากบรรทัดคำสั่ง เมื่อมันรันมันจะขโมยเชลล์จนกว่ามันจะจบดังนั้นฉันต้องสร้างหน้าต่างเชลล์ใหม่เพื่อทำงานบรรทัดคำสั่งต่อไป เชลล์ที่ฉันใช้คือเชลล์ GITBash จาก MySysGit.
ฉันพบไฟล์ Redcar.bat ซึ่งมีวัตถุประสงค์เพื่อเรียกใช้ Redcar เป็นทางลัดฉันเข้าใจ แต่ฉันไม่ต้องการให้หน้าต่างพรอมต์คำสั่งพิเศษเปิดขึ้นเมื่อใดก็ตามที่ฉันเปิดไฟล์ BAT.
ฉันจะเรียกใช้ BAT โดยไม่เห็นพรอมต์ได้อย่างไร?
มีวิธีแก้ปัญหาสำหรับความปรารถนาที่รวดเร็วของ Jake หรือไม่??
คำตอบ
Afrazier ผู้สนับสนุน SuperUser ตอบกลับพร้อมกับข่าวดีและข่าวร้าย:
คุณไม่สามารถ - รันไฟล์แบตช์ด้วย Command Prompt ในตัวกำลังจะเปิดหน้าต่างค้างไว้จนกว่าไฟล์แบตช์จะออก.
สิ่งที่คุณ สามารถ do ทำตามขั้นตอนต่าง ๆ เพื่อให้แน่ใจว่าไฟล์แบตช์ออกโดยเร็วที่สุด หากเป็นไปได้ให้ปรับเปลี่ยนไฟล์แบตช์เพื่อเรียกใช้โปรแกรมใดก็ได้ที่มี
เริ่มต้น
คำสั่ง โดยค่าเริ่มต้น,เริ่มต้น
ส่งคืนทันทีโดยไม่ต้องรอให้โปรแกรมออกจากดังนั้นไฟล์แบตช์จะยังคงทำงานต่อไปและสันนิษฐานว่าออกจากทันที เชื่อมโยงกับการปรับเปลี่ยนทางลัดของคุณเพื่อเรียกใช้ไฟล์แบตช์ย่อให้เล็กสุดและคุณจะเห็นแถบงานกะพริบโดยไม่ต้องเห็นหน้าต่างบนหน้าจอ.ข้อแม้อย่างหนึ่งคือถ้าคุณใช้โปรแกรมโหมดคอนโซลซึ่งมีตัวแปลสคริปต์หลายตัวไฟล์แบตช์จะรอให้โปรแกรมออกและใช้งาน
เริ่มต้น
จะวางไข่หน้าต่างคอนโซลใหม่ สิ่งที่คุณต้องทำในกรณีนี้คือใช้ล่ามรุ่นที่ใช้ Windows แทนรุ่นที่ใช้คอนโซล - ไม่มีเริ่มต้น
จำเป็น สำหรับ Perl คุณจะต้องวิ่งwperl.exe
แทนperl.exe
. สำหรับ Python นั้นpythonw.exe
แทนpython.exe
. win32 Ruby รุ่นเก่าที่ฉันได้ทำการดาวน์โหลดมานั้นrubyw.exe
, ซึ่งควรทำสิ่งเดียวกัน.ความเป็นไปได้ขั้นสุดท้ายคือการใช้เครื่องมือของบุคคลที่สามเพื่อเรียกใช้พรอมต์คำสั่งด้วยหน้าต่างที่ซ่อนอยู่ ฉันเคยได้ยินเรื่องแบบนี้มาก่อน แต่ไม่เคยมีประโยชน์กับพวกเขาเลยฉันไม่รู้อะไรเป็นพิเศษเลยที่จะชี้ให้คุณ.
ผู้อ่านยังชี้ให้เขาไปยังเธรด SuperUser อื่นที่เน้นวิธีที่คุณสามารถใช้ Visual Basic Script เพื่อลดการมองเห็นและซ่อนการพรอมต์ของ CMD เอาไว้ทันที ในหัวข้อนั้น Harry MC อธิบาย:
โซลูชันที่ 1:
บันทึกข้อความหนึ่งบรรทัดเป็นไฟล์
invisible.vbs
:CreateObject (“ Wscript.Shell”) เรียกใช้“””” & WScript.Arguments (0) &“”””, 0, เท็จ
หากต้องการเรียกใช้โปรแกรมหรือไฟล์แบตช์ใด ๆ ให้ใช้อย่างนี้:
wscript.exe“ C: \ เมื่อใดก็ตาม \ visible.vbs”“ C: \ สถานที่อื่น \ MyBatchFile.bat อื่น”
เพื่อให้สามารถส่งผ่าน / รีเลย์รายการอาร์กิวเมนต์ใช้สองเครื่องหมายคำพูดคู่เท่านั้น
CreateObject (“ Wscript.Shell”) เรียกใช้“” & WScript.Arguments (0) &“”, 0, เท็จ
เช่น Invisible.vbs“ Kill.vbs ME.exe”
โซลูชันที่ 2:
ใช้เครื่องมือบรรทัดคำสั่งเพื่อเริ่มกระบวนการอย่างเงียบ ๆ.
ใช้โซลูชันใด ๆ ข้างต้นตามระดับความสะดวกสบายของคุณโดยใช้ VBS และเครื่องมือของบุคคลที่สามหรืออย่างน้อยที่สุดจะลดการมองเห็นของหน้าต่าง CMD หรือลบทันที.
มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.