สารบัญ:

ไฟล์แบทช์: พื้นฐานบางอย่าง..: 8 ขั้นตอน
ไฟล์แบทช์: พื้นฐานบางอย่าง..: 8 ขั้นตอน

วีดีโอ: ไฟล์แบทช์: พื้นฐานบางอย่าง..: 8 ขั้นตอน

วีดีโอ: ไฟล์แบทช์: พื้นฐานบางอย่าง..: 8 ขั้นตอน
วีดีโอ: Batch file คืออะไร วิธีสร้างและใช้งาน โทษก็มี ประโยชน์ก็มาก บางคนมองว่าคือ ไวรัส 2024, กันยายน
Anonim
ไฟล์แบทช์: พื้นฐานบางอย่าง….
ไฟล์แบทช์: พื้นฐานบางอย่าง….

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

ฉันได้เรียนรู้ทักษะการสั่งการของฉันเกือบทั้งหมด และการเขียนแบทช์ทั้งหมดของฉันจากอินเทอร์เน็ตโดยทั่วไป และโดยเฉพาะอย่างยิ่ง Instuctables ฉันขอขอบคุณผู้ใช้ Instructables Neodudeman สำหรับ Instructables ที่ยอดเยี่ยมของเขาในการเขียนแบทช์ ขอบคุณ!

ขั้นตอนที่ 1: ไฟล์แบตช์คืออะไร?

ไฟล์แบทช์คืออะไร?
ไฟล์แบทช์คืออะไร?

ผู้อ่านส่วนใหญ่ของฉันคงรู้แล้วว่าไฟล์แบตช์คืออะไร แต่เผื่อไว้….

ไฟล์แบตช์เป็นเพียงคอลเล็กชัน (แบทช์) ของคำสั่ง MSDOS ที่ดำเนินการตามลำดับเมื่อคุณเรียกใช้แบตช์ไฟล์ ไฟล์แบทช์เริ่มต้นเป็นไฟล์.txt ในแผ่นจดบันทึก และกลายเป็นไฟล์สั่งการเมื่อคุณบันทึกเป็นไฟล์ที่มีนามสกุล.bat โดยพื้นฐานแล้ว สิ่งที่คุณทำคือเขียนไฟล์ใน Notepad แล้วบันทึกเป็น "instructable.bat" เมื่อวาง.bat ไว้ที่ท้ายชื่อไฟล์แล้ว ไฟล์ใหม่ที่สวยงามจะปรากฏขึ้น พร้อมตั้งชื่อตามที่คุณตั้งชื่อไว้ พร้อมด้วยไอคอนรูปเฟืองที่สวยงาม เอาล่ะ เมื่อเรารู้ว่าไฟล์แบตช์เหล่านี้คืออะไร มาเริ่มเขียนกันเลย!

ขั้นตอนที่ 2: คำสั่งพื้นฐาน

คำสั่งพื้นฐาน
คำสั่งพื้นฐาน
คำสั่งพื้นฐาน
คำสั่งพื้นฐาน
คำสั่งพื้นฐาน
คำสั่งพื้นฐาน
คำสั่งพื้นฐาน
คำสั่งพื้นฐาน

เอาล่ะ คุณจะต้องเรียนรู้คำสั่งบางอย่าง ก่อนอื่น ให้เปิดพรอมต์คำสั่ง MSDOS เปิดหน้าต่างเริ่มต้น คลิกที่ run พิมพ์ cmd.exe แล้วคลิก run.เอาล่ะ อันดับแรก เราจะดูที่ตัวแปร ตัวแปรคือตัวเลข คำ หรือสิ่งอื่น ๆ ที่ (ค่อนข้างชัดเจน) แตกต่างกันไป พรอมต์คำสั่งมีฟังก์ชันตัวแปร มีตัวแปรบางตัวที่ตั้งค่าไว้แล้ว เช่น TIME, DATE และอื่นๆ อีกสองสามตัว อย่างไรก็ตาม ตัวแปรส่วนใหญ่คุณสามารถตั้งค่าได้เอง คลิกที่หน้าต่างพรอมต์คำสั่ง แล้วพิมพ์:SET variable=randomไม่สำคัญว่าคุณจะพิมพ์ "SET" เป็นตัวพิมพ์ใหญ่หรือไม่ แต่ฉันชอบที่จะใช้คำสั่งทั้งหมดของฉันให้เป็นตัวพิมพ์ใหญ่ โดยเฉพาะอย่างยิ่งเมื่อเขียนไฟล์แบตช์ มันทำให้ง่ายต่อการบอกว่าคุณกำลังทำอะไรอยู่ ตอนนี้กด Enter ดีสำหรับคุณ! คุณได้ตั้งค่าตัวแปรแรกของคุณแล้ว! แต่เราจะทำอะไรกับมันได้บ้าง? ใครจะสนว่าสิ่งที่เราทำได้คือตั้งค่าตัวแปรให้ถูกต้อง? ปรากฎว่าเราสามารถทำอะไรได้มากกว่านั้น แต่ก่อนอื่น ให้ลองให้คอมพิวเตอร์บอกเราว่าตัวแปรถูกตั้งค่าเป็นอะไร โอเค เพื่อให้คอมพิวเตอร์อ่านค่าของตัวแปร เราพิมพ์ชื่อของตัวแปร ในกรณีนี้คือ "ตัวแปร" และใส่ชื่อในเครื่องหมาย % เช่น %variable% ไปข้างหน้าและพิมพ์เข้าไปแล้วกด Enter:%variable%Weird error เหรอ? คอมพิวเตอร์แจ้งว่า "ตัวแปร" ไม่เป็นที่รู้จักในฐานะคำสั่งภายในหรือภายนอก โปรแกรมปฏิบัติการ หรือแบตช์ไฟล์ เหตุใดจึงให้ข้อผิดพลาดนั้น โดยพื้นฐานแล้วมันทำให้เกิดข้อผิดพลาดนั้นเพราะพรอมต์คำสั่งจะถือว่าค่าของตัวแปรนั้นเหมือนกับว่าคุณพิมพ์ในตัวคุณเอง ดังนั้น เมื่อคุณพิมพ์ %variable% คอมพิวเตอร์คิดว่าคุณกำลังบอกให้รันคำสั่ง "สุ่ม" เห็นได้ชัดว่าเราต้องการอย่างอื่นเพื่อดูค่าของตัวแปรของเรา นี่คือที่มาของคำสั่ง ECHO คำสั่ง ECHO บอกพรอมต์คำสั่งให้สะท้อนหรือพูด สิ่งที่คุณพิมพ์หลังจาก ECHO ดังนั้น หากเราพิมพ์คำสั่ง ECHO ก่อนตัวแปร เราควรจะได้สิ่งที่ต้องการ:ECHO %variable%There! ตอนนี้เราได้สิ่งที่ต้องการแล้ว! คอมพิวเตอร์พิมพ์ "สุ่ม" เห็นได้ชัดว่านี่คือค่าที่เราพิมพ์สำหรับตัวแปรของเรา ดังนั้นจึงเป็นผลลัพธ์ที่เราต้องการ ในขั้นตอนต่อไป เราจะเรียนรู้เพิ่มเติมเกี่ยวกับตัวแปร และวิธีที่เราสามารถใช้ตัวแปรเหล่านี้

ขั้นตอนที่ 3: การใช้คำสั่ง SET และตัวแปร

การใช้คำสั่ง SET และตัวแปร
การใช้คำสั่ง SET และตัวแปร
การใช้คำสั่ง SET และตัวแปร
การใช้คำสั่ง SET และตัวแปร

เอาล่ะ เมื่อเรารู้ว่าตัวแปรคืออะไร เราสามารถทำอะไรกับมันได้อีก? เราสามารถทำคณิตศาสตร์ได้ เราสามารถใช้เป็นเงื่อนไขสำหรับการเขียนโปรแกรมและไฟล์แบตช์ เราสามารถคำนวณพื้นฐาน เราสามารถรันคำสั่ง และอื่นๆ อีกมากมาย เราจะไม่พูดถึงทุกสิ่งที่คุณสามารถทำได้กับตัวแปร แต่เราจะพูดถึงแง่มุมที่สำคัญบางอย่างของฟังก์ชันตัวแปร อันดับแรก คำสั่ง SET จะสร้างเฉพาะตัวแปรสตริงเท่านั้น ซึ่งหมายความว่าจะไม่เพิ่มหรือคำนวณอย่างอื่น หากคุณบอกให้คอมพิวเตอร์บวก 1 ให้กับตัวแปรที่มีค่า 1 ตัวแปรนั้นจะให้ค่า 1+1 แก่คุณ ถ้าเราต้องการให้บวกเลขสองตัวนั้นจริง ๆ เราต้องใส่ "/a" หลังคำสั่ง SET ดังนั้นเราจึงพิมพ์:SET /a varible=(value) ตอนนี้ สมมติว่าเราต้องการใส่ตัวแปรในแบตช์ไฟล์ที่ผู้ใช้จะจัดเตรียมให้ เราอาจต้องการทำเช่นนี้หากเราคำนวณค่าตามสูตร หรือในกรณีของเรา หากเราต้องการให้ผู้ใช้เดาตัวเลขที่คอมพิวเตอร์คิดขึ้นมา ในการสร้างตัวแปรที่ผู้ใช้ระบุ เราเพิ่ม /p หลังคำสั่ง SET และเราปล่อยให้พื้นที่หลัง = blank:SET /p variable=ไปแล้ว! ผู้ใช้ระบุตัวแปร! หากเราต้องใส่บรรทัดนี้ในแบตช์ไฟล์ แบตช์จะทำงานจนกว่าจะถึงบรรทัดนี้ จากนั้นจะรอให้ผู้ใช้ป้อนข้อมูลก่อนดำเนินการต่อ ข้อดีอีกอย่างของ /p ก็คือมันลบล้าง /a โดยสิ้นเชิง เมื่อเราใส่ a /p เราสามารถละเว้น /a ได้ ต่อไปเราจะมาเรียนรู้เกี่ยวกับการสร้างตัวแปรสุ่ม หากเราต้องการให้คอมพิวเตอร์เลือกตัวเลขสุ่มสำหรับตัวแปร เราเพียงแค่พิมพ์คำสั่ง SET ตามด้วยตัวแปร แล้วตั้งค่าตัวแปรให้เท่ากับ %RANDOM% อีกครั้งที่ไม่จำเป็นต้องเป็นทุน แต่ผมชอบทำอยู่ดี ดังนั้นเราจึงพิมพ์:SET /a variable=%RANDOM%เห็นได้ชัดว่านี่ไม่ใช่ตัวแปรที่ผู้ใช้ระบุ ดังนั้นเราจึงรวม /a เย็น! ตอนนี้เรารู้วิธีสร้างตัวเลขสุ่มแล้ว! แต่มันสุ่มยังไงล่ะ? ปรากฎว่าคอมพิวเตอร์เลือกตัวเลขระหว่าง 0 ถึงประมาณ 37, 000 ฉันไม่แน่ใจว่าจำนวนที่แน่นอนคืออะไร แต่ถ้าเราต้องการจำนวนที่น้อยกว่าล่ะ? สมมติว่าในคำแนะนำนี้ เราต้องการหมายเลขที่สามารถจัดการได้สำหรับเกมเดาหรือไม่ นั่นคือที่มาของคำสั่ง IF….

ขั้นตอนที่ 4: คำสั่ง IF และ GOTO พลังในมือของผู้เขียนแบทช์

คำสั่ง IF และ GOTO พลังในมือของผู้เขียนแบทช์
คำสั่ง IF และ GOTO พลังในมือของผู้เขียนแบทช์

ดังนั้นเราจึงต้องการสร้างตัวเลขที่สามารถจัดการได้ สมมติว่าเราต้องการสร้างตัวเลขสุ่มระหว่าง 1 ถึง 20 โอเค พูดง่าย แต่ค่า RANDOM จะเลือกตัวเลขระหว่าง 1 ถึง 37, 000 นั่นคือสิ่งที่เราจะใช้ IF คำสั่ง IF โดยพื้นฐานแล้วจะบอกว่า หากมีบางอย่างเกิดขึ้น หรือ IF มีค่าเท่ากับหรือไม่เท่ากับค่าหนึ่ง ให้ทำสิ่งนี้ ดังนั้น IF จะตั้งค่าคำสั่งตามเงื่อนไข เราต้องการสร้างตัวเลขที่น้อยกว่ายี่สิบ แต่มากกว่า 1 แน่นอน เราจะเริ่มต้นด้วยการบอกให้คอมพิวเตอร์เลือกหมายเลขสุ่ม แต่แล้วเราจะต้องสามารถบอกให้มันเลือกหมายเลขใหม่ได้ หมายเลข หากหมายเลขที่เลือกไม่ตรงกับข้อกำหนดของเรา นั่นคือที่มาของคำสั่ง GOTO GOTO เพียงแค่บอกให้คอมพิวเตอร์ไปที่ GO TO ป้ายชื่อในรหัส ป้ายกำกับมีลักษณะดังนี้::pickคำใดๆ ที่วางไว้หลังโคลอนจะกลายเป็นป้ายกำกับที่เราสามารถเข้าถึงได้ด้วยคำสั่ง GOTO ดังนั้น หากเราต้องการไปยังส่วนของโค้ดที่มีป้ายกำกับ "pick" อยู่ด้านบน ให้พิมพ์:GOTO pickAlright เพื่อให้เราเขียนโค้ดต่อไป เราได้แจ้งให้คอมพิวเตอร์เลือกหมายเลขสุ่มแล้ว เราจึงพิมพ์:SET /a answer=%RANDOM%ตอนนี้ เราต้องการดึงตัวเลขนี้ให้อยู่ในช่วงที่เล็กลง เราจะเรียกใช้คำสั่ง IF สิ่งนี้ควรทำเคล็ดลับ:IF %answer% GTR 20 GOTO pickThis บอกให้คอมพิวเตอร์เลือก GOTO หากคำตอบคือ GReaTer มากกว่า 20 เรายังสามารถใส่เงื่อนไขใดๆ เหล่านี้ในคำสั่ง IF นั้นได้:EQU - EqualNEQ - Not EqualLSS - Less ThanGTR - มากกว่า LEQ - น้อยกว่าหรือเท่ากับ ToGEQ - มากกว่าหรือเท่ากับดังนั้น ด้วย IF, GOTO, ป้ายกำกับ และคำย่อเหล่านี้ เราสามารถจัดการแบตช์ไฟล์ของเราในแบบที่เราเลือก โอเค ตอนนี้เราได้ตัวเลขสุ่มที่อายุต่ำกว่ายี่สิบ และนี่คือสิ่งที่เรามี::pickSET /a answer=%RANDOM%IF %answer% GTR 20 GOTO pickNow ให้แน่ใจก่อนว่าคอมพิวเตอร์ไม่ t เลือก 0 สำหรับคำตอบ.:pickSET /a answer=%RANDOM%IF %answer% GTR 20 GOTO pickIF $answer% EQU 0 GOTO pick ตกลง! ตอนนี้เรามีตัวเลขที่ใช้ได้ระหว่าง 1 ถึง 20 มาต่อกันที่เนื้อของแบทช์กัน

ขั้นตอนที่ 5: เนื้อของเกมของเรา

เนื้อเกมของเรา
เนื้อเกมของเรา

เอาล่ะ เราได้หมายเลขสุ่มของเราแล้ว เราต้องการนับจำนวนการเดาของผู้เล่นด้วย ดังนั้นเราจะตั้งค่าตัวแปรอื่น:SET /a Guessnum=0นั่นตั้งค่าตัวแปร geussnum เป็นศูนย์ และเราให้พารามิเตอร์ /a แก่มัน ดังนั้นเราจะสามารถเพิ่ม ทุกครั้งที่ผู้ใช้คาดเดาเอาล่ะ เรามีตัวเลขสุ่ม และเราได้กำหนดจำนวนการเดาแล้ว ตอนนี้ เราต้องการคำแนะนำบางอย่าง และเราจำเป็นต้องมีการป้อนข้อมูลของผู้ใช้สำหรับหมายเลขเดา คุณควรเข้าใจสิ่งนี้เป็นส่วนใหญ่ในตอนนี้ ดังนั้นฉันจะแสดงรหัส::beginECHO ฉันจะนึกถึงตัวเลขECHO ฉันกำลังคิด….. SET /a GuessNum=0(ECHO นี้สองบรรทัดนั้นและ กำหนดจำนวนการเดาเป็น 0):pickASET /a Answer=%RANDOM%IF %Answer% GTR 20 GOTO pickAIF %Answer% EQU 0 GOTO pickAECHO ฉันกำลังนึกถึงตัวเลขระหว่าง 1 ถึง 20ECHO เดาว่าฉันกำลังคิดอะไรอยู่ ของ.(ส่วนนี้จะวนซ้ำจนกว่าจะตั้งค่าหมายเลขสุ่มของเรา จากนั้น ECHO จะทำตามคำแนะนำสำหรับผู้เล่นของเรา):RetrySET /p Guess=IF %Guess% LSS %Answer% ECHO หมายเลขของฉันสูงกว่า IF %Guess% GTR %Answer% ECHO หมายเลขของฉันต่ำกว่า IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1GOTO ลองอีกครั้ง(ส่วนนี้บอกให้คอมพิวเตอร์ขอข้อมูลของผู้ใช้ จากนั้นวนซ้ำอย่างต่อเนื่องจนกว่าผู้ใช้จะเลือก หมายเลขที่ถูกต้อง จากนั้นไปที่ป้ายกำกับ END):ENDECHO คุณพูดถูก! คำตอบคือ %Answer%ECHO มันต้องใช้ %GuessNum% Guesses. ECHO. PAUSECLSECHO คุณต้องการที่จะเล่นอีกครั้งหรือไม่ECHO Y/N?SET /p play=IF %play% EQU y GOTO beginIF %play% EQU n GOTO closeIF % เล่น% GTR y GOTO เล่นอีกครั้ง IF % เล่น% LSS y GOTO เล่นอีกครั้ง IF %play% GTR n GOTO เล่นอีกครั้ง IF %play% LSS n GOTO เล่นอีกครั้ง (นี่คือส่วนท้ายของเรา สิ่งนี้จะบอกผู้ใช้ว่าพวกเขาเดาได้กี่ครั้ง แล้วถามว่าพวกเขาต้องการหรือไม่ ให้เล่นอีกครั้ง สังเกตว่า เราสามารถใช้ EQU, GTR และ LSS กับตัวอักษรได้ด้วย)เอาล่ะ! หากคุณเพียงแค่คัดลอกรหัสนี้ คุณจะมีเกมทายผลที่ถูกต้องตามกฎหมาย ไม่ใช่แฟนซีจริงๆ แต่เดี๋ยวก่อน ดีกว่าที่คนส่วนใหญ่สามารถทำได้ แต่เราจะเพิ่มจุดหักมุมเล็กน้อยเพื่อให้สิ่งที่น่าสนใจ….

ขั้นตอนที่ 6: The Twist

The Twist
The Twist
The Twist
The Twist
The Twist
The Twist

ตอนนี้ เรามีเกมที่ใช้งานได้แล้ว แต่เราต้องการทำให้มันน่าสนใจยิ่งขึ้นอีกเล็กน้อย ลองเพิ่มแรงจูงใจให้ผู้เล่นเดาหมายเลขที่ถูกต้องล่ะ เราทำอย่าง.. ปิดเครื่องคอมพิวเตอร์ถ้าพวกเขาไม่เดาตัวเลข? นั่นจะดีมาก! ตกลง ตอนนี้เราจะเพิ่มโค้ดเล็กน้อยเพื่อทำการเปลี่ยนแปลงเหล่านี้ ขั้นแรก เราจะเพิ่มบรรทัดในส่วนโค้ดที่เราระบุว่า "ลองใหม่" ดังนั้นไปหาส่วนนั้น ดูเหมือนว่านี้::RetrySET /p Guess=IF %Guess% LSS %Answer% ECHO หมายเลขของฉันสูงกว่า IF %Guess% GTR %Answer% ECHO หมายเลขของฉันต่ำกว่า IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1GOTO Retryเอาล่ะ เราจะเพิ่มบรรทัดนี้ต่อจาก "ECHO" (เมื่อเราใส่จุดหลัง ECHO จะเว้นบรรทัดว่างไว้) นี่คือรหัสใหม่:IF %GuessNum% EQU 4 GOTO shutdownGเมื่อเราเพิ่มบรรทัดนี้ ส่วนจะมีลักษณะดังนี้::RetrySET /p Guess=IF %Guess% LSS %Answer% ECHO หมายเลขของฉันสูงกว่า IF %Guess% GTR %Answer% ECHO หมายเลขของฉันต่ำกว่า IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1IF %GuessNum% EQU 4 GOTO ปิดระบบGGOTO ลองใหม่ตอนนี้ มันน่าจะค่อนข้างชัดเจนว่าสิ่งนี้ทำอะไร มันบอกคอมพิวเตอร์ว่าถ้า GuessNum EQUAls 4 ควรไปที่ส่วนของรหัสที่ระบุว่า "shutdownG" ดังนั้นเราต้องการให้ส่วนการปิดระบบนี้พูดอะไร เห็นได้ชัดว่าต้องมีป้ายกำกับว่า "shutdownG" ต่อไปก็ต้องปิดเครื่องคอมพิวเตอร์ คำสั่งในการปิดเครื่องคือ "SHUTDOWN -s" การดำเนินการนี้จะปิดคอมพิวเตอร์ แต่เราต้องการเพิ่มคำสั่งบางอย่าง เราจะเพิ่ม "-f" ที่จะบังคับให้ปิดโปรแกรมทั้งหมด และเราจะเพิ่ม "-t 60" ที่จะบอกให้คอมพิวเตอร์แสดงหน้าต่างและรอหกสิบวินาทีเพื่อปิด เราจะเพิ่ม "-c "ข้อความที่นี่" ด้วย ซึ่งจะแสดงข้อความในหน้าต่างปิดเครื่อง หลังจากคำสั่งปิดระบบ เราจะใช้รหัสเดียวกันกับที่เรามีอยู่ด้านบน ซึ่งเป็นรหัสที่ช่วยให้ผู้เล่นเลือกตัวเลขและให้ข้อเสนอแนะแก่พวกเขาได้ ดังนั้นรหัสการปิดระบบของเราตอนนี้จึงเป็นดังนี้::shutdownGSHUTDOWN -s -f -t 60 -c "เดาต่อไป! หากคุณไม่เดาหมายเลขที่ถูกต้อง คอมพิวเตอร์จะปิด!":shutdownG1SET /p Guess=IF %Guess% LSS %Answer% ECHO My Number is Higher. IF %Guess% GTR %Answer % ECHO หมายเลขของฉันต่ำกว่านี้ IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1GOTO shutdownG1ตอนนี้เราได้ตั้งค่าคอมพิวเตอร์ให้ปิดและแสดงข้อความ แต่เรายังต้องบอก คอมพิวเตอร์เพื่อหยุดการปิดระบบ หากมีการเริ่มต้น ดังนั้น เราจะเพิ่มส่วนนั้นลงในส่วนของการเข้ารหัสที่มีป้ายกำกับว่า "สิ้นสุด" ส่วนนั้นมีลักษณะดังนี้::ENDIF %GuessNum% GTR 4 SHUTDOWN -aECHO คุณพูดถูก! คำตอบคือ %Answer%ECHO มันต้องใช้ %GuessNum% Guesses. ECHO. PAUSECLSECHO คุณต้องการที่จะเล่นอีกครั้งหรือไม่ECHO Y/N?SET /p play=IF %play% EQU y GOTO beginIF %play% EQU n GOTO closeIF % เล่น% GTR y GOTO เล่นอีกครั้ง IF % เล่น% LSS y GOTO เล่นอีกครั้ง IF % เล่น% GTR n GOTO เล่นอีกครั้ง IF % เล่น% LSS n GOTO เล่นอีกครั้งเราต้องการหยุดการปิดระบบ และเราทำเช่นนั้นด้วยคำสั่ง "SHUTDOWN -a" ดังนั้น เราจะเพิ่มบรรทัดที่มีลักษณะดังนี้:IF %GuessNum% GTR 4 SHUTDOWN -aเราจะเพิ่มคำสั่งนั้นต่อจากป้ายกำกับ และจะบอกให้คอมพิวเตอร์เรียกใช้คำสั่ง SHUTDOWN -a ต่อเมื่อผู้เล่นมี คาดเดามากกว่าสี่ครั้งและเริ่มปิดตัวลง ตกลง! คุณควรให้เกมของคุณเสร็จสิ้นตอนนี้! เราจะทำให้แน่ใจว่าไม่มีข้อบกพร่องในขั้นตอนต่อไป

ขั้นตอนที่ 7: ขั้นตอนสุดท้าย

ขั้นตอนสุดท้าย
ขั้นตอนสุดท้าย

โอเค ตอนนี้ ถ้าคุณร้อยเรียงการเข้ารหัสทั้งหมดเข้าด้วยกัน คุณจะมีบางอย่างที่มีลักษณะดังนี้::beginECHO ฉันจะนึกถึงตัวเลขECHO ฉันกำลังคิด….. SET /a GuessNum=0:pickASET / a Answer=%RANDOM%IF %Answer% GTR 20 GOTO pickAIF %Answer% EQU 0 GOTO pickAECHO ฉันกำลังนึกถึงตัวเลขระหว่าง 1 ถึง 20ECHO เดาว่าฉันกำลังนึกถึงตัวเลขอะไร:ลองเซ็ตใหม่ /p Guess=IF %Guess % LSS %Answer% ECHO หมายเลขของฉันสูงกว่า IF %Guess% GTR %Answer% ECHO หมายเลขของฉันต่ำกว่า IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1IF %GuessNum% EQU 4 GOTO ปิดเครื่อง GGOTO ลองใหม่อีกครั้ง:ENDIF %GuessNum% GTR 4 SHUTDOWN -aECHO คุณพูดถูก! คำตอบคือ %Answer%ECHO มันต้องใช้ %GuessNum% Guesses. ECHO. PAUSECLSECHO คุณต้องการที่จะเล่นอีกครั้งหรือไม่ECHO Y/N?SET /p play=IF %play% EQU y GOTO beginIF %play% EQU n GOTO closeIF % เล่น% GTR y GOTO เล่นอีกครั้งIF %play% LSS y GOTO เล่นอีกครั้งIF %play% GTR n GOTO เล่นอีกครั้งIF %play% LSS n GOTO เล่นอีกครั้ง:closeECHO ขอบคุณสำหรับการเล่น!PAUSEEXIT cmd:shutdownGSHUTDOWN -s -f -t 60 -c "เดาต่อไป ถ้าคุณไม่เดาหมายเลขที่ถูกต้อง คอมพิวเตอร์จะปิดตัวลง!":shutdownG1SET /p Guess=IF %Guess% LSS %Answer% ECHO My Number is Higher. IF %Guess% GTR %Answer% ECHO หมายเลขของฉันคือ Lower. IF %Guess%==%Answer% GOTO ENDECHO. SET /a GuessNum=%GuessNum%+1GOTO shutdownG1นั่นควรเป็นทุกสิ่งที่เราต้องการใช่ไหม ดังนั้นไปข้างหน้าและบันทึกไฟล์ notepad.txt ที่คุณมีเป็น GuessGame.bat ที่จริงแล้ว คุณสามารถตั้งชื่ออะไรก็ได้ตามต้องการ ตราบใดที่คุณใส่.bat ต่อท้าย เอาล่ะ คลิกที่ไอคอนและเรียกใช้โปรแกรม! มันทำงาน? ดีครับ. มันทำอะไรแปลกๆ ใช่ไหม? ปรากฎว่าเมื่อเราเขียน Batch แบบนี้ command prompt ECHO จะทุกๆ คำสั่งที่เราให้ เหมือนกับว่าเราพิมพ์คำสั่งนั้นลงใน command prompt ดังนั้นเกมจึงใช้งานได้ แต่ค่อนข้างยุ่งและไม่ชัดเจน เราสามารถทำอะไรเกี่ยวกับเรื่องนี้? ใช่! สิ่งที่เราต้องทำคือพิมพ์บรรทัดนี้ที่จุดเริ่มต้นของโค้ดของเรา:@ECHO OFF ซึ่งจะบอกให้คอมพิวเตอร์ปิด ECHO OFF และเครื่องหมาย @ ที่ขอทานบอกให้ปิด ECHO OFF สำหรับทุกคำสั่ง ถ้าเราปล่อย @ ไว้ มันจะปิด ECHO OFF สำหรับคำสั่งเดียวเท่านั้น

ขั้นตอนที่ 8: เสร็จสิ้น

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

แนะนำ: