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

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


6
คุณจะรอ exe ในไฟล์แบตช์ได้อย่างไร
ฉันพยายามสร้างสคริปต์เพื่อเรียกใช้ exe เมื่อปิดเครื่องเพื่อติดตั้ง sp1 สคริปต์ของฉันมีลักษณะคล้ายกับ (ไม่ใช่สคริปต์ค้างคาวจริง) If installed GOTO END Install.exe END: ปัญหาของฉันคือเมื่อมันทำงานมันจะเริ่มตัวติดตั้งจากนั้นก็เสร็จสคริปต์เพราะตัวติดตั้งเป็นกระบวนการที่แตกต่างกันและติดตามโดยการปิดกระบวนการติดตั้งเพราะคอมพิวเตอร์ของการปิดและปิดระบบ (อย่างน้อยนั่นคือสิ่งที่ฉันคิด มันกำลังทำ.) มีวิธีใดที่จะบอกให้รอจนกระทั่งกระบวนการเริ่มต้นเสร็จสมบูรณ์แล้วจึงปิดเครื่อง?



10
วิธีสร้างบริการที่รันไฟล์. bat บน Windows 2008 Server
ฉันได้สร้างบริการโดยใช้ sc create myService binpath=myservice.bat แต่เมื่อฉันเริ่มมันล้มเหลวด้วยข้อความแสดงข้อผิดพลาดต่อไปนี้: [SC] StartService FAILED 1053: The service did not respond to the start or control request in a timely fashion. บน Win2k3 ฉันใช้ srvany.exe จากชุดทรัพยากร แต่ไม่มีชุดทรัพยากรสำหรับ win2k8 ในขณะที่ฉันติดตั้ง srvany.exe บนเครื่องของฉัน แต่ฉันไม่คิดว่ามันเป็นวิธีที่ดีที่สุดที่จะทำ ขอบคุณ!

2
เปลี่ยน Directory ปัจจุบันเป็น Batch File Directory
ฉันมีbatไฟล์บนหน้าต่างที่ดำเนินการProcDumpการดำเนินงาน ปัญหาของไฟล์แบตช์คือฉันต้อง cd ไปที่ไดเรกทอรีไฟล์แบตช์ก่อนที่จะดำเนินงานมิฉะนั้นสคริปต์จะไม่ทำงาน จะเปลี่ยนเป็นไดเร็กทอรีไฟล์แบตช์ปัจจุบันได้อย่างไร? ฉันลองรหัสต่อไปนี้ในของฉันprocdump.bat: cd "%~dp" procdump -h devenv.exe mydump.txt แต่มันล้มเหลวข้อความแสดงข้อผิดพลาดคือ: การใช้งานตัวดำเนินการเส้นทางต่อไปนี้ในการทดแทนชุดพารามิเตอร์ไม่ถูกต้อง:% ~ dp " สำหรับรูปแบบที่ถูกต้องพิมพ์ CALL /? หรือ FOR /? แก้ไข: คำตอบที่ให้ไว้ใช้งานได้ แต่มีเพียงหนึ่ง catch เท่านั้น: ถ้าไดเรกทอรีปัจจุบันของฉันแตกต่างจากไดเรกทอรีไฟล์ batch แล้วฉันจะได้รับ "ระบบไม่สามารถหาเส้นทางที่ระบุ" ใครมีความคิดเห็นบ้าง

1
วิธีการลบภารกิจที่กำหนดเวลาออกจากบรรทัดคำสั่งโดยไม่มีการยืนยัน? (ลบ schtasks)
ฉันสามารถสร้างงานจากบรรทัดคำสั่งดังนี้: schtasks /create /tn SomeTask /tr "do.bat arg1 arg2" /sc ONCE /st 00:00:00 /sd 01/01/1991 และตอนนี้ฉันต้องลบมัน อย่างไรก็ตามคำสั่งจะต้องได้รับการยืนยันและฉันไม่รู้ว่าจะทำอย่างไรจากไฟล์ BATCH (bat / cmd) C:\> schtasks /delete /tn ContextSwitchTask WARNING: Are you sure you want to remove the task "ContextSwitchTask" (Y/N)? C:\> echo Y | schtasks /delete /tn ContextSwitchTask WARNING: Are you sure …

3
การเขียนแบตช์ไฟล์ด้วยปลายสาย Unix ปลอดภัยหรือไม่?
ฉันคิดว่าฉันพบข้อผิดพลาดในไฟล์แบตช์เพราะมันเขียนด้วยการจบบรรทัด unix นี่เป็นปัญหาที่ทราบกันดีกับ cmd.exe ที่เรียกใช้ไฟล์แบตช์ใน windows หรือไม่?

5
บรรทัดคำสั่ง - ไฟล์แบตช์เรียกไฟล์แบตช์อื่น
ฉันมีไฟล์แบตช์ซึ่งเรียกไฟล์แบตช์อื่นที่มีอยู่ในไดเรกทอรี PATH (โดยทั่วไปเรียกการปฏิบัติการด้วยสวิตช์เพิ่มเติม) : bar.bat: foo.bat file1.txt foo.bat file2.txt etc. ใน foo.bat: foo.exe -t -s %1 bar.batเรียกใช้งานคำสั่งแรก แต่ออกอย่างสุดขั้ว (เช่นทำงานกับfile1.txtเท่านั้น) ฉันจะทำให้ไฟล์แบตช์นี้เรียกใช้ไฟล์แบตช์อื่นมากกว่าหนึ่งครั้งได้อย่างไร

1
MSIZAP ยังมีประโยชน์หรือไม่
ฉันอัพเดตแฟลชโดยใช้ไฟล์ MSI ที่ติดตั้งโดยนโยบายกลุ่ม อย่างไรก็ตามทุกครั้งที่มีการอัพเดทเวิร์กสเตชันประมาณหนึ่งในสามไม่สามารถอัพเดทได้ (Windows Vista และ Windows 7 รุ่น 32/64 บิต) ในบันทึกเหตุการณ์ข้อความนี้จะปรากฏขึ้น: "Adobe Flash Player 11 ActiveX - ข้อผิดพลาด 1714 ไม่สามารถลบ Adobe Flash Player 11 ActiveX เวอร์ชันเก่าติดต่อกลุ่มสนับสนุนด้านเทคนิคของคุณระบบข้อผิดพลาด 1612" วิธีเดียวที่ฉันได้รับสามารถที่จะแก้ไขปัญหาคือการใช้เครื่องมือของ Microsoft พอดี อย่างไรก็ตามเป็นกระบวนการที่ใช้เวลานานมากซึ่งใช้เวลาประมาณ 15 นาทีในการดำเนินการด้วยตนเองสำหรับแต่ละเวิร์กสเตชันดังนั้นจึงฆ่าได้อย่างมีประสิทธิภาพตลอดทั้งวันทุกครั้งที่มีการอัพเดตแฟลชออกมา ฉันเจอสคริปต์นี้ซึ่งรวมถึง MSIZAP เพื่อลบการถอนการติดตั้งแฟลชที่ล้มเหลว ดังนั้นคำถามของฉันคือ : ยูทิลิตี้ MSIZAP เป็นวิธีที่ดีที่สุดในการลบแฟลชโดยทางโปรแกรมหรือล้าสมัยแล้วในตอนนี้หรือไม่ เหตุผลที่ฉันถามคือเนื้อหาที่เป็นลายลักษณ์อักษรส่วนใหญ่ที่ฉันพบในเรื่องนี้มาจากปี 2009 หรือ 2010 @echo off SET …

8
ไฟล์ Batch เพื่อถอนการติดตั้ง Sun Java ทุกเวอร์ชัน?
ฉันกำลังตั้งค่าระบบเพื่อให้จาวาอยู่ในสำนักงานของเราอยู่เสมอ ทุกคนมี Java เวอร์ชันต่าง ๆ ทั้งหมดส่วนใหญ่มีอายุและไม่ปลอดภัยและบางรุ่นมีอายุย้อนกลับไปถึง 1.4 ฉันมีเซิร์ฟเวอร์ System Center Essentials ซึ่งสามารถผลักดันและเรียกใช้ไฟล์. msi แบบเงียบ ๆ และฉันได้ทดสอบแล้วว่าสามารถติดตั้ง Java ล่าสุดได้ แต่โปรแกรมติดตั้งรุ่นเก่า (เช่น 1.4) ไม่ได้ถูกลบออกดังนั้นฉันต้องถอนการติดตั้ง ทุกคนใช้ Windows XP เหตุบังเอิญที่ประณีตคือ Sun เพิ่งซื้อโดย Oracle และ Oracle ได้เปลี่ยนอินสแตนซ์ทั้งหมดของ "Sun" เป็น "Oracle" ใน Java ดังนั้นฉันไม่ต้องกังวลเกี่ยวกับการถอนการติดตั้ง Java ล่าสุดเพราะสะดวกเพียงแค่ทำการค้นหาและถอนการติดตั้งโปรแกรมทั้งหมดของSun Java ฉันพบชุดสคริปต์ต่อไปนี้ในโพสต์ฟอรัมซึ่งดูมีแนวโน้ม: @echo off & cls Rem List all Installation …
11 windows  batch-file  msi  java 

2
ไม่แสดงชุดคำสั่งไฟล์เมื่อเรียกใช้งานหรือไม่
เมื่อฉันรันแบตช์ไฟล์บนหน้าจอ cmd คำสั่งในแบตช์จะปรากฏขึ้นบนหน้าจอตัวอย่าง: - ไฟล์ชุด :- @echo off. command1 command2 เมื่อฉันรันบน cmd ต่อไปนี้จะปรากฏบนหน้าจอ: - c:\user > command1 c:\user >command2 ฉันไม่ปรากฏอะไรเลยเมื่อฉันเรียกใช้งานไฟล์แบตช์

3
ฉันจะตั้งค่าสภาพแวดล้อม PATH ทั่วโลกในไฟล์แบตช์ได้อย่างไร
นโยบายกลุ่มในสภาพแวดล้อมของเราเขียนทับตัวแปร PATH ทุกครั้งที่ฉันเข้าสู่ระบบและเมื่อฉันเรียกใช้คอมพิวเตอร์ที่ไม่ได้มาตรฐานจะทำให้เกิดความผิดพลาดอย่างสมบูรณ์ (C: \ Windows เทียบกับ C: \ WINNT ไดเรกทอรีที่ขาดหายไป ฯลฯ ) ขณะนี้ฉันเปลี่ยนมันด้วยตนเองทุกครั้งที่ฉันเข้าสู่ระบบ แต่นั่นเริ่มที่จะน่าเบื่อ ถ้าฉันใช้คำสั่ง SET เพื่อเปลี่ยนตัวแปร PATH ในแบตช์ไฟล์จะมีขอบเขตในตัวเครื่องเท่านั้นดังนั้นการเปลี่ยนแปลงจะใช้กับคำสั่งในไฟล์แบตช์เท่านั้น set PATH=C:\WINNT;C:\WINNT\System32 set PATH ไฟล์ชุดนี้จะส่งออกเส้นทางใหม่ แต่ถ้าฉันทำงานset PATHในบรรทัดคำสั่งหลังจากนั้นมันจะยังคงเป็นเส้นทางเดิม ฉันจะตั้งค่าสภาพแวดล้อม PATH ทั่วโลกในไฟล์แบตช์ได้อย่างไร หรือมีเทคนิคอื่นที่ฉันสามารถใช้ได้?

2
ตรวจสอบไฟล์ด้วยสัญลักษณ์แทนและเก็บเป็นตัวแปรในแบตช์ไฟล์ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับข้อบกพร่องของเซิร์ฟเวอร์ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันกำลังมองหาวิธีตรวจสอบโฟลเดอร์ที่ระบุสำหรับไฟล์ ฉันจะไม่มีชื่อไฟล์ที่สมบูรณ์ดังนั้นฉันจะต้องใช้สัญลักษณ์แทน หลังจากค้นหาไฟล์ฉันต้องการจัดเก็บชื่อไฟล์เป็นตัวแปร
10 batch-file 

6
50 เวิร์กสเตชันไฟล์. bat 1 ไฟล์บนเซิร์ฟเวอร์เครือข่ายจะใช้งานได้หรือไม่
ฉันมีไฟล์. bat เพื่อทำการบำรุงรักษาบนเครื่อง ฉันวางไฟล์. bat ไว้บนเซิร์ฟเวอร์ที่เชื่อมต่อกับเครือข่ายเพื่อให้เวิร์กสเตชันทั้งหมดเข้าถึงได้ หากฉันต้องใช้ตัวกำหนดตารางเวลา windows เพื่อทำให้ไฟล์. bat ทำงานที่ 12: 00: 00.000 เมื่อพูด ... เวิร์กสเตชัน 50 เครื่องพวกเขาทั้งหมดจะสามารถเรียกใช้หรือไม่หรือเกิดข้อผิดพลาดหรือไม่ ป.ล. ไม่ขอให้ฉันลองทำ = P

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