คำถามติดแท็ก batch-file

ชุดไฟล์เป็นไฟล์ข้อความที่มีชุดคำสั่งที่ดำเนินการโดยล่ามคำสั่งในระบบ MS-DOS, IBM OS / 2 หรือระบบ Microsoft Windows

23
เรียกใช้ไฟล์แบตช์ในลักษณะที่ซ่อนอยู่อย่างสมบูรณ์
ฉันกำลังมองหาวิธีที่จะเรียกใช้ไฟล์แบตช์ (.bat) โดยที่ผู้ใช้ไม่เห็นสิ่งใด (ไม่มีหน้าต่างไม่มีชื่อทาสก์บาร์, .etc .. ) ฉันไม่ต้องการใช้โปรแกรมเพื่อทำสิ่งนั้นฉันกำลังมองหาบางสิ่งที่สะอาดกว่านี้ ฉันพบโซลูชันที่ใช้ VBScript แล้ว แต่ฉันไม่ชอบใช้ VBS เช่นกัน

9
วิธีเรียกใช้แบตช์ไฟล์โดยไม่เรียกใช้“ หน้าต่างคำสั่ง” [ซ้ำ]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว: เรียกใช้แบตช์ไฟล์ในวิธีที่ซ่อนอยู่ 23 คำตอบ ใน Windows XP ฉันสามารถเรียกใช้ไฟล์ batch (.bat หรือ. cmd) ผ่านทางลัดโดยไม่มี "หน้าต่างดำ" ได้หรือไม่

5
ฉันจะลบ forkbomb ออกจากโฟลเดอร์เริ่มต้นได้อย่างไร
ฉันมีแล็ปท็อปรุ่นเก่าที่ใช้ Windows Vista ตั้งแต่ประมาณปี 2005 และฉันก็หลงกลกับมันเล็กน้อย ในช่วงเวลาของความโง่เขลาที่แท้จริงฉันสร้างไฟล์แบทช์และวางรหัสต่อไปนี้ไว้ในนั้น: %0|%0 ฉันวิ่งสิ่งนี้และฉันต้องรีสตาร์ทแล็ปท็อป อย่างไรก็ตามฉันตัดสินใจที่จะดำเนินการตามเส้นทางทำลายล้างนี้และวางไฟล์ Batch ในโฟลเดอร์ Windows Startup ตอนนี้ฉันเข้าสู่ระบบไม่ได้หากไม่ทำลายแล็ปท็อปของฉัน ฉันจะลบ forkbomb นี้ออกจากโฟลเดอร์เริ่มต้นได้อย่างไร

4
คำสั่ง Windows RENAME ตีความสัญลักษณ์แทนได้อย่างไร
คำสั่ง Windows RENAME (REN) ตีความสัญลักษณ์แทนได้อย่างไร สิ่งอำนวยความสะดวกช่วยเหลือในตัวไม่มีความช่วยเหลือ - ไม่ได้ใช้สัญลักษณ์แทนเลย Microsoft TechNet XP ช่วยเหลือออนไลน์ไม่ได้ดีมาก นี่คือทั้งหมดที่จะต้องพูดเกี่ยวกับสัญลักษณ์แทน: "คุณสามารถใช้อักขระตัวแทน ( *และ?) ในพารามิเตอร์ชื่อไฟล์ได้หากคุณใช้อักขระตัวแทนในชื่อไฟล์ 2 อักขระที่แสดงด้วยอักขระตัวแทนจะเหมือนกับอักขระที่สอดคล้องกันในชื่อไฟล์ 1" ความช่วยเหลือไม่มาก - มีหลายวิธีที่คำสั่งนั้นสามารถตีความได้ ฉันจัดการเพื่อใช้สัญลักษณ์แทนในพารามิเตอร์filename2ได้สำเร็จในบางโอกาส แต่ก็มีการลองผิดลองถูกมาตลอด ฉันไม่สามารถคาดการณ์ได้ว่าอะไรจะได้ผลและอะไรที่ไม่ดี บ่อยครั้งที่ฉันต้องหันไปเขียนสคริปต์ชุดเล็ก ๆ ด้วยวงวนสำหรับ FOR ที่แยกแต่ละชื่อเพื่อที่ฉันจะสามารถสร้างชื่อใหม่แต่ละชื่อได้ตามต้องการ ไม่สะดวกมาก หากฉันรู้ว่ากฎสำหรับวิธีการประมวลผลสัญลักษณ์ตัวแทนนั้นฉันคิดว่าฉันสามารถใช้คำสั่ง RENAME ได้อย่างมีประสิทธิภาพมากขึ้นโดยไม่ต้องเปลี่ยนแบตช์บ่อยครั้ง แน่นอนว่าการรู้กฎจะเป็นประโยชน์ต่อการพัฒนาแบทช์ (ใช่ - นี่เป็นกรณีที่ฉันโพสต์คำถามและคำตอบที่จับคู่ไว้ฉันเบื่อที่จะไม่รู้กฎและตัดสินใจทดลองด้วยตัวเองฉันคิดว่าคนอื่น ๆ อาจสนใจในสิ่งที่ฉันค้นพบ)

6
ฉันจะตรวจสอบการกำหนดค่า NTP ปัจจุบันของระบบได้อย่างไร
ฉันต้องตรวจสอบการกำหนดค่า NTP ปัจจุบันในระบบ Windows บางระบบ เป็นการดีที่ฉันต้องการจะทำเช่นนี้ผ่านทางบรรทัดคำสั่งแทนการนำทางผ่านหน้าจอการตั้งค่า (ฉันกำลังทำงานกับเวอร์ชั่นต่าง ๆ ของ OS และหน้าจอการตั้งค่ามีแนวโน้มที่จะไม่อยู่ในที่เดียวกันตลอดทั้งเวอร์ชัน) ฉันหวังว่าจะพบคำสั่งที่รวดเร็วและน่าจดจำที่ฉันสามารถเจาะเข้าสู่คอนโซล CMD เพื่อรับผลลัพธ์ ไฟล์แบทช์ที่ฉันสามารถพกติดตัวไปด้วยจะทำได้เช่นกัน โดยเฉพาะฉันต้องการสิ่งต่อไปนี้: แสดงให้เห็นว่าระบบได้รับการกำหนดค่าให้รับเวลาจากเซิร์ฟเวอร์ NTP หรือไม่ แสดงเซิร์ฟเวอร์ NTP ที่ระบบได้รับเวลา แสดงเวลาของการซิงโครไนซ์ครั้งล่าสุด แสดงเวลาปัจจุบันบนระบบ จำเป็นต้องมีคำสั่งอะไรเพื่อให้ได้ผลลัพธ์เหล่านี้ ค้นหาโซลูชันที่ทำงานร่วมกันได้กับ Windows XP, 7, Server 2003 และ Server 2008

5
เอาอุปกรณ์ USB ออกจากบรรทัดคำสั่ง
ฉันกำลังสร้างสคริปต์สำรองสำหรับ Windows 7 และการกระทำสุดท้ายที่ฉันต้องการให้ดำเนินการคือ "ลบ" ไดรฟ์ USB ที่สำรองไว้อย่างปลอดภัย ฉันอยู่ภายใต้การแสดงผลที่เสียบไดรฟ์เข้ากับพอร์ต USB เดียวกันตลอดเวลาจะยังคงเหมือนเดิม DEV_ID (แก้ไขฉันถ้าฉันผิด) ด้วยบรรทัดคำสั่ง (หรือ PowerShell) ฉันจะบอก Windows ให้ถอดฮาร์ดแวร์ออกโดยอัตโนมัติได้อย่างไรโดยไม่ต้องป้อนข้อมูลจากผู้ใช้ เช่นเดียวกับผู้ที่เป็นเจ้าของระบบปฏิบัติการอื่น ๆ ที่อาจมีวิธีการทำเช่นนี้ก็เป็นสิ่งที่ดีที่จะได้รับรู้เช่นกัน

8
จะตรวจสอบได้อย่างไรว่ามีไดเรกทอรีอยู่ใน Windows
ฉันต้องการแปลสคริปต์ Linux / Bash นี้เป็น Windows เชลล์: if test -d myDirName; then echo "ok"; else mkdir myDirName; fi มันจะทดสอบว่ามีไดเรกทอรีอยู่หรือไม่และไม่สร้างขึ้นมาหรือไม่

11
วิธีการป้องกันพรอมต์คำสั่งจากการปิดหลังจากการดำเนินการ?
ปัญหาของฉันคือว่าใน Windows มีหน้าต่างบรรทัดคำสั่งที่ปิดทันทีหลังจากดำเนินการ เพื่อแก้ปัญหานี้ฉันต้องการให้การทำงานเริ่มต้นเป็นแบบเปิดหน้าต่างไว้ โดยปกติพฤติกรรมนี้สามารถหลีกเลี่ยงได้ด้วยสามวิธีที่อยู่ในใจของฉัน: วางpauseบรรทัดหลังโปรแกรมแบตช์เพื่อให้ผู้ใช้กดปุ่มก่อนออก การเรียกใช้แบตช์ไฟล์เหล่านี้หรือบรรทัดคำสั่งอื่น ๆ ที่จัดการเครื่องมือ (แม้จะเริ่มให้บริการเริ่มต้นใหม่หรืออื่น ๆ ที่net start xyคล้ายกัน) ภายในcmd.exe(เริ่ม - เรียกใช้ - cmd.exe) เรียกใช้โปรแกรมเหล่านี้ด้วยcmd /kสิ่งนี้: cmd /k myprogram.bat แต่มีบางกรณีที่ผู้ใช้: เรียกใช้โปรแกรมเป็นครั้งแรกและไม่ทราบว่าโปรแกรมที่กำหนดจะทำงานใน Command Prompt (ตัวประมวลผลคำสั่งของ Windows) เช่นเมื่อรันทางลัดจากเมนู Start (หรือจากที่อื่น) หรือ พบว่าไม่สะดวกที่จะเรียกใช้ cmd.exe ตลอดเวลาและไม่มีเวลา / โอกาสในการเขียนโค้ดของคำสั่งเหล่านี้อีกครั้งทุกที่เพื่อหยุดชั่วคราวหลังจากพวกเขาหรือหลีกเลี่ยงการออกอย่างชัดเจน ฉันได้อ่านบทความเกี่ยวกับการเปลี่ยนพฤติกรรมเริ่มต้นของcmd.exeเมื่อเปิดมันอย่างชัดเจนด้วยการสร้างรายการ AutoRunและจัดการเนื้อหาในตำแหน่งเหล่านี้: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun (รายการ AutoRun คือ_String values_... ) …

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

9
เป็นไปได้ไหมที่จะเรียกใช้ไฟล์แบตช์ในฐานะผู้ดูแลระบบโดยอัตโนมัติ
ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะเปิดไฟล์แบตช์ในฐานะผู้ดูแลระบบโดยอัตโนมัติเมื่อคุณดับเบิลคลิกที่ไฟล์แบตช์เพราะคำสั่งจะต้องทำงานด้วยสิทธิ์ระดับผู้ดูแล หมายเหตุ: ฉันรู้เกี่ยวกับวิธีแก้ปัญหาของการคลิกขวาที่ไฟล์และคลิกRun As Administratorแต่นี่ไม่ใช่โซลูชันอัตโนมัติ

6
ใน Windows 7 จะเปลี่ยนการตั้งค่าพรอกซีจากบรรทัดคำสั่งได้อย่างไร
ฉันจะเปลี่ยนการตั้งค่าพร็อกซีจากบรรทัดคำสั่งใน Windows 7 ได้อย่างไร http_proxyฉันไม่ได้พูดคุยเกี่ยวกับเพียง ฉันต้องตั้งค่าพร็อกซีทั้งระบบ (การตั้งค่าในการตั้งค่าคุณสมบัติอินเทอร์เน็ต) ฉันจะทำอย่างไร

7
ฉันจะลบแผนผังไดเร็กทอรีผ่านไฟล์แบตช์บน Windows 7 ได้อย่างไร
ฉันต้องการลบเนื้อหาทั้งหมดของโฟลเดอร์ที่ระบุใน Windows 7 ผ่านทางไฟล์แบตช์ ปัญหาของฉันคือ 'ลบ' หรือ 'ลบ' ลบไฟล์เท่านั้นไม่ใช่โฟลเดอร์และ 'rmdir' หรือ 'rd' ลบโฟลเดอร์ที่ระบุด้วยเนื้อหาเสมอ แต่ฉันต้องการลบเนื้อหาเท่านั้นไม่ใช่ตัวโฟลเดอร์เอง . ฉันลองคำสั่ง ' rmdir /S /Q "C:\Share\*"' ซึ่งทำให้ฉันมีข้อผิดพลาดทางไวยากรณ์ วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร? ฉันกำลังทำงานบน Windows 7 Professional 64 บิตและมีสิทธิ์ผู้ดูแลระบบ

12
การเติม Array ในสคริปต์ DOS Batch
ฉันจะตั้งค่าตัวแปรอาเรย์ในสคริปต์แบตช์ DOS ได้อย่างไร ฉันต้องการโหลดด้วยรายการชื่อไฟล์ที่จะประมวลผล ฉันอยากจะทำให้มันเรียบง่ายที่สุดเท่าที่จะทำได้ ขอขอบคุณ.

3
วิธีสร้างแบตช์ไฟล์ที่ลบโฟลเดอร์ทั้งหมดที่ชื่อว่า `bin` หรือ` obj` ซ้ำ?
ฉันต้องการลบbin& objโฟลเดอร์ทั้งหมดในโฟลเดอร์บนพีซีของฉัน ดังนั้นฉันคิดว่าไฟล์ชุดทำ แต่ฉันไม่ famaliar กับไฟล์ batching ใน Windows กรุณาช่วย. [แก้ไข] หลังจากพูดคุยกับผู้ใช้DMA57361ฉันถึงวิธีแก้ปัญหาปัจจุบัน (ยังคงมีปัญหาดูความคิดเห็นของเรา): สร้างไฟล์. bat และวางคำสั่งด้านล่าง: start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d" หรือ start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s "%%d" @ DMA57361: เมื่อฉันเรียกใช้สคริปต์ของคุณฉันได้รับข้อผิดพลาดด้านล่าง …

3
ฉันจะทำให้ไฟล์. bat ดำเนินการต่อหลังจากเกิดข้อผิดพลาดได้อย่างไร
ฉันมีไฟล์. bat ใน windows ที่ทำสามสิ่ง cmd1 arg1 arg2 cmd2 arg3 cmd3 arg4 arg5 arg6 บางครั้ง cmd1 อาจล้มเหลวและก็ไม่เป็นไรฉันต้องการดำเนินการต่อและเรียกใช้ cmd2 และ cmd3 แต่ค้างคาวของฉันหยุดที่ cmd1 ฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร อัปเดตเพื่อความชัดเจน - ไฟล์เหล่านี้ไม่ใช่ไฟล์. bat อื่น ๆ เป็นคำสั่ง exe หวังว่าฉันไม่จำเป็นต้องสร้างแผนภูมิของไฟล์. bat เพียงเพื่อให้ได้สิ่งนี้

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