โฮมเพจ » ทำอย่างไร » ฉันสามารถเรียกใช้ไฟล์แบตช์ของ Windows โดยไม่แสดงพรอมต์คำสั่งที่มองเห็นได้หรือไม่

    ฉันสามารถเรียกใช้ไฟล์แบตช์ของ 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 คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.