Batch File examples
2.0.0.0
ไฟล์แบตช์ต่างๆ
ชื่อไฟล์ | คำอธิบาย/การใช้งาน |
---|---|
args.bat | แสดงการใช้ช่องว่างด้วยเสียงสะท้อน |
autoexec.bat | ไฟล์ AUTOEXEC.BAT จากพีซีใน L-1 ส่วนใหญ่จะกำหนดคำสั่ง PATH เป็นคำสั่งพิเศษที่ใช้ตั้งค่าตัวแปร PATH สังเกตว่าการติดตั้ง Pervasive.SQL 2000 ทำให้แบตช์ไฟล์ยุ่งเหยิงโดยการใส่คำสั่งไว้หน้า @Echo ออฟไลน์ |
backbat2.bat | สำรองไฟล์แบตช์ (เวอร์ชั่น Windows 95/98/ME) |
การใช้งาน: backbat backupdir | |
โดยที่: backupdir เป็นไดเร็กทอรีสำหรับคัดลอกไฟล์แบตช์ ไฟล์แบตช์ทั้งหมดในไดเร็กทอรีปัจจุบันจะถูกสำรองข้อมูล | |
ตรวจสอบให้แน่ใจว่ามีข้อโต้แย้งอย่างน้อยหนึ่งข้อ บันทึกไดเร็กทอรีสำรอง ตรวจสอบเพื่อให้แน่ใจว่ามี backupdir อยู่และไม่ใช่ไฟล์ | |
หากไม่มีไดเร็กทอรี ให้สร้างขึ้นใหม่ เนื่องจากเราไม่สามารถตรวจสอบระดับข้อผิดพลาดได้อย่างน่าเชื่อถือใน Windows 95/98/ME ให้ตรวจสอบว่ามีไดเรกทอรีอยู่หรือไม่หลังจากที่เราทำคำสั่ง make directory คัดลอกไฟล์แบตช์แต่ละไฟล์ทีละไฟล์ หมายเหตุ: ตัวแปร for loop (%%b) ต้องมีตัวอักษรเพียงตัวเดียว ใช้ for loop อีกครั้งเพื่อตรวจสอบว่าแต่ละไฟล์ถูกคัดลอกหรือไม่ (เนื่องจากเป็นการยากที่จะรันหลายคำสั่งใน for for loop) | |
ทำความสะอาด: ยกเลิกการตั้งค่าตัวแปรของเรา | |
badpath.bat | ไฟล์แบตช์นี้จะทำให้การตั้งค่า PATH ของพรอมต์คำสั่งของคุณยุ่งเหยิง หากไม่มี setlocal และ endlocal ตัวแปรการตั้งค่าจะเปลี่ยนสภาพแวดล้อม DOS |
สำเนา.ค้างคาว | ตรวจสอบระดับข้อผิดพลาดต่างๆ โดยการรันคำสั่งคัดลอก |
ซีพี.ค้างคาว | คัดลอกไฟล์ไปยังไดเร็กทอรีใหม่ จากนั้นทำให้เป็นแบบอ่านอย่างเดียว จากนั้นลองคัดลอกอีกครั้ง สำเนาที่สองควรล้มเหลว และระดับข้อผิดพลาดจะถูกตั้งค่าเป็นค่าที่ไม่ใช่ศูนย์ |
cp2.bat | วิธีแก้ปัญหาบางส่วนสำหรับ Lab #2 |
ไม่มีที่สิ้นสุด.ค้างคาว | วนซ้ำไม่รู้จบ -- ใช้ Ctrl+Break หรือ Ctrl+C เพื่อหยุด |
มีอยู่ค้างคาว | ตรวจสอบการมีอยู่ของไฟล์ (testfile) และไดเร็กทอรี (testdir) |
หมายเหตุ: ดูเหมือนจะใช้ไม่ได้กับไดรฟ์เครือข่าย Microsoft Networking (เช่น W: ใน L-17) | |
testfile เป็นไฟล์ | |
testdir ไม่ใช่ไฟล์ | |
testfile ไม่ใช่ไดเร็กทอรี | |
testdir เป็นไดเร็กทอรี | |
ไปค้างคาว | การวนซ้ำไม่สิ้นสุด -- ใช้ Ctrl+Break หรือ Ctrl+C เพื่อหยุด |
go2.bat | การวนซ้ำแบบมีเงื่อนไข - ดำเนินต่อไปจนกว่าจะไม่มีอาร์กิวเมนต์เหลืออยู่บนบรรทัดคำสั่งอีกต่อไป |
สวัสดีค้างคาว | โปรแกรมสวัสดีชาวโลก |
เก็บค้างคาว | บันทึกพารามิเตอร์แรกในตัวแปรที่บันทึกไว้ |
คำสั่ง shift จะย้าย %1 ไปยัง %0 และ %2 ไปยัง %1 เพื่อให้ค่าก่อนหน้าถูกแทนที่ | |
หากเราทำกะอื่น %1 เดิม (ตอนนี้ %0) จะสูญหายไป | |
เนื่องจากเราเก็บไว้ในตัวแปรที่บันทึกไว้ เราจึงสามารถกู้คืนค่าได้ สำหรับตัวแปรที่มีชื่อ (ตรงข้ามกับตัวเลข) คุณต้องใช้เครื่องหมายเปอร์เซ็นต์ก่อนและหลังชื่อตัวแปรเพื่อรับค่า | |
main1.bat | สาธิตคำสั่งการโทรเพื่อรันไฟล์แบตช์อื่น (ย่อย) |
main2.bat | สาธิตการโทรด้วยตัวแปรการตั้งค่าและพารามิเตอร์ที่ส่งผ่าน |
mbcopy.bat | วิธีแก้ปัญหาหนึ่งที่เป็นไปได้สำหรับแล็บ #2 ส่วน B |
MBCOPY.BAT คัดลอกไฟล์หรือไดเร็กทอรีจำนวนเท่าใดก็ได้ไปยังไดเร็กทอรี คำสั่งใช้ไวยากรณ์ต่อไปนี้: | |
mbcopy ปลายทาง src1 src2 ... | |
หากไม่มีไดเร็กทอรีปลายทาง ให้สร้างขึ้นใหม่ | |
หากไฟล์ต้นฉบับเป็นไดเร็กทอรี ไฟล์นั้นจะถูกคัดลอกแตกต่างจากไฟล์ทั่วไป | |
หากไม่มีไดเร็กทอรีต้นทางในไดเร็กทอรีปลายทาง ให้สร้างไดเร็กทอรีดังกล่าวเพื่อไม่ให้ XCOPY แจ้งเตือนผู้ใช้ | |
mycopy.bat | MYCOPY.BAT คัดลอกไฟล์จำนวนเท่าใดก็ได้ไปยังไดเร็กทอรี คำสั่งใช้ไวยากรณ์ต่อไปนี้: |
mycopy dir ไฟล์ 1 ไฟล์ 2 ... | |
myvar.bat | ตั้งค่าตัวแปรที่จะยังคงอยู่ในสภาพแวดล้อม DOS หลังจากไฟล์แบตช์เสร็จสมบูรณ์ หากต้องการตรวจสอบสิ่งนี้ ให้ป้อน set ที่พร้อมท์ DOS หลังจากที่คุณเรียกใช้ไฟล์แบตช์นี้ |
myvar2.bat | ตั้งค่าตัวแปรที่จะไม่ส่งผลกระทบต่อสภาพแวดล้อม DOS หลังจากไฟล์แบตช์เสร็จสมบูรณ์ หากต้องการตรวจสอบสิ่งนี้ ให้ป้อน set ที่พร้อมท์ DOS หลังจากที่คุณเรียกใช้ไฟล์แบตช์นี้ รวมสิ่งนี้กับ myvar.bat เพื่อดูว่าเกิดอะไรขึ้น หมายเหตุ: Windows NT หรือ 2000 เท่านั้น |
ป.ค้างคาว | ตั้งค่า PATH บนเครือข่ายใน L-17 |
พารามแบต | คุณสามารถเข้าถึงพารามิเตอร์บรรทัดคำสั่งได้สูงสุดเก้าพารามิเตอร์ในเวลาใดก็ตาม |
param2.bat | คุณสามารถเข้าถึงพารามิเตอร์บรรทัดคำสั่งได้สูงสุดเก้าพารามิเตอร์ในเวลาใดก็ตาม แต่คุณสามารถเลือกที่จะเข้าถึงเฉพาะพารามิเตอร์ที่เลือก และละเว้นส่วนที่เหลือได้ |
param3.bat | คำสั่ง shift สามารถใช้เพื่อประมวลผลพารามิเตอร์บรรทัดคำสั่งแต่ละรายการ ทีละรายการ โดยใช้ตัวแปร %1 |
param4.bat | shift สามารถใช้เมื่อคุณต้องการประมวลผลพารามิเตอร์มากกว่าเก้าตัว |
param5.bat | shift สามารถใช้เมื่อคุณต้องการประมวลผลพารามิเตอร์มากกว่าเก้าตัว คุณยังสามารถเข้าถึงได้ครั้งละเก้าเท่านั้น |
rems.bat | นี่คือความคิดเห็น |
rems2.bat | ความคิดเห็นเพิ่มเติม |
Remove_Cbs_Logs.bat | สาเหตุนี้มีสาเหตุมาจาก Windows Resource Protection (WRP) ซึ่งจะหยุดโปรแกรมเขียนทับไฟล์ระบบที่สำคัญ มันเก็บไฟล์บันทึกไว้ใน C:WindowsLogsCBS โปรแกรม SFC.exe เขียนรายละเอียดของการดำเนินการตรวจสอบแต่ละรายการและการดำเนินการซ่อมแซมแต่ละรายการลงในไฟล์ CBS.log CBS.persist.log ถูกสร้างขึ้นเมื่อ CBS มีขนาดประมาณ 50Mb CBS.log ถูกคัดลอกไปยัง cbs.persist.log และไฟล์ cbs.log ใหม่จะเริ่มทำงาน บันทึก cbs จะมีประโยชน์สำหรับการแก้ไขปัญหาร้ายแรงเท่านั้น หากระบบทำงานได้ดี เราสามารถลบไฟล์นี้ได้ และ SFC.exe จะสร้างไฟล์ใหม่เมื่อเรียกใช้ครั้งถัดไป แล้วทำไมเราถึงมีกระบวนการลึกลับในการเขียนไฟล์ในโฟลเดอร์ temp ?? ดูเหมือนว่าบนเซิร์ฟเวอร์จำนวนหนึ่ง เราจะเห็นว่ากระบวนการเก็บถาวร SFC ล้มเหลวในการรีไซเคิลอย่างถูกต้อง และเป็นผลให้ทำงานมาเป็นเวลานาน |
safepath.bat | ไฟล์แบตช์นี้จะไม่ส่งผลกระทบต่อ DOS PATH หมายเหตุ: Windows NT หรือ 2000 เท่านั้น |
safepath9x.bat | ไฟล์แบตช์นี้จะไม่ส่งผลกระทบต่อ DOS PATH โดยการทำสำเนาของตัวแปร PATH ไว้ล่วงหน้า และกู้คืนที่ส่วนท้ายของไฟล์แบตช์ |
shift.bat | สาธิตคำสั่งกะ |
shifter.bat | สาธิตคำสั่ง shift (ไม่มีเสียงสะท้อน) |
str1.bat | นี่แสดงให้เห็นถึงรูปแบบของคำสั่ง if ที่เปรียบเทียบสตริง หากคุณเรียกใช้ไฟล์แบตช์นี้โดยไม่มีพารามิเตอร์ใดๆ คุณจะได้รับข้อความแสดงข้อผิดพลาด |
str2.bat | นี่แสดงให้เห็นถึงรูปแบบที่ถูกต้องของคำสั่ง if สำหรับการเปรียบเทียบสตริง หากคุณเรียกใช้ไฟล์แบตช์นี้โดยไม่มีพารามิเตอร์ใดๆ คุณจะไม่ได้รับข้อความแสดงข้อผิดพลาด เนื่องจากเครื่องหมายคำพูดว่างจะอยู่ทั้งด้านซ้ายและด้านขวา ในแบตช์ไฟล์ก่อนหน้า (str1.bat) ด้านซ้ายจะว่างเปล่า ทำให้เกิดข้อผิดพลาด |
str3.bat | รูปแบบอื่นของการเปรียบเทียบสตริง ในกรณีนี้ จุดจะใช้พื้นที่ทางด้านซ้ายหากไม่มีการกำหนดพารามิเตอร์ |
ย่อยค้างคาว | นี่คือไฟล์แบตช์ที่เรียกโดยทั้ง main1.bat และ main2.bat มันสาธิตการใช้ตัวแปรและพารามิเตอร์ที่ใช้ร่วมกันที่ส่งผ่านคำสั่งการโทร |
tf1.bat | แสดงว่าคำสั่ง if ไม่ถูกต้อง ถ้าจริงก็จบไป มิฉะนั้น ทั้งสองคำสั่ง echo จะถูกดำเนินการ |
tf2.bat | แสดงให้เห็นถึงคำสั่ง if ที่ถูกต้อง ถ้าเป็นจริง จะแสดงเพียงคำสั่ง echo เดียวเท่านั้น หากเป็นเท็จ จะมีการแสดงคำสั่ง echo เพียงรายการเดียวเท่านั้น เนื่องจาก goto ต่อไปนี้จะข้ามคำสั่ง echo คำสั่งที่สอง (กรณีจริง) |
tf3.bat | รูปแบบเชิงลบของคำสั่ง if ในที่นี้ คีย์เวิร์ด not ใช้เพื่อไปที่กรณีเท็จ มิฉะนั้น กรณีจริงจะถูกดำเนินการทันทีหลังจาก if จากนั้นเราจะข้ามกรณีเท็จด้วยการข้ามไปครั้งที่สอง |
tf4.bat | แสดงเงื่อนไข if-else หากกรณีแรกเป็นจริง เราจะไปที่กรณีแรก ถ้าอันแรกเป็นเท็จ เราจะตรวจสอบอันที่สองว่าถ้า ถ้าเป็นเช่นนั้นจริง เราก็ไปที่กรณีที่ 2 หาก ifs ทั้งสองเป็นเท็จ จะดำเนินการกรณี else |
tf5.bat | รูปแบบอื่นของโครงสร้าง if-elseif-else ด้วย goto สำหรับกรณี else ด้วยวิธีนี้ คุณสามารถจัดกลุ่มโค้ดเข้าด้วยกันในลักษณะที่เป็นตรรกะหรือเป็นธรรมชาติมากขึ้น |
tf6.bat | แสดงให้เห็นถึงตรรกะหรือเงื่อนไข ทั้งสองคำสั่ง if ไปที่ป้ายกำกับเดียวกันหากเป็นจริง มิฉะนั้นจะเป็นเท็จทั้งคู่ |
ศูนย์.ค้างคาว | บรรทัดคำสั่งไฟล์แบตช์ถูกคัดลอกไปที่ %0 |