Isi kandungan:

Fail Kumpulan: Beberapa Asas ..: 8 Langkah
Fail Kumpulan: Beberapa Asas ..: 8 Langkah

Video: Fail Kumpulan: Beberapa Asas ..: 8 Langkah

Video: Fail Kumpulan: Beberapa Asas ..: 8 Langkah
Video: SPD Tutorial 3 Pembangunan Sistem Fail 2024, Jun
Anonim
Fail Batch: Beberapa Asas…
Fail Batch: Beberapa Asas…

Instructable ini akan mengajar anda beberapa asas menulis fail kumpulan, dan akan menunjukkan kepada anda bagaimana membuat permainan meneka nombor dengan beberapa putaran, hanya untuk memastikan perkara menarik …

Saya telah mempelajari sebahagian besar kemahiran prompt arahan saya, dan semua penulisan saya secara besar-besaran dari internet secara amnya, dan khususnya yang boleh dimulakan. Saya ingin mengucapkan terima kasih kepada pengguna Instructables Neodudeman kerana Instructables yang hebat dalam penulisan kumpulan. Terima kasih!

Langkah 1: Apakah Fail Batch?

Apakah Fail Batch?
Apakah Fail Batch?

Baiklah, kebanyakan pembaca saya mungkin sudah tahu apa itu fail batch, tetapi sekiranya berlaku….

File batch adalah sekumpulan (batch) arahan MSDOS yang dijalankan secara berurutan ketika anda menjalankan file batch. Fail kumpulan bermula sebagai fail.txt di notepad, dan menjadi fail yang dapat dilaksanakan apabila anda menyimpannya sebagai sesuatu dengan pelanjutan.bat. Jadi pada dasarnya, semua yang anda lakukan adalah menulis fail di Notepad, dan kemudian simpan sebagai, katakan, "instruktif.bat". Setelah.bat diletakkan di hujung nama fail, fail baru yang bagus akan muncul, namakan apa sahaja yang anda namakan, dengan ikon gear yang bagus. Baiklah, setelah kita mengetahui apa itu fail kumpulan ini, mari kita menulis!

Langkah 2: Perintah Asas

Perintah Asas
Perintah Asas
Perintah Asas
Perintah Asas
Perintah Asas
Perintah Asas
Perintah Asas
Perintah Asas

Baiklah, anda perlu mempelajari beberapa arahan. Oleh itu, buka arahan arahan MSDOS. Buka tetingkap permulaan, klik pada jalankan, ketik "cmd.exe" dan kemudian klik jalankan. Baiklah. Pertama, kita akan melihat pemboleh ubah. Pemboleh ubah adalah nombor, perkataan, atau perkara lain yang (agak jelas) berbeza. Prompt Perintah mempunyai fungsi berubah-ubah. Ia mempunyai beberapa pemboleh ubah yang sudah ditetapkan, seperti MASA, TARIKH, dan beberapa yang lain. Sebilangan besar pemboleh ubah, bagaimanapun, anda boleh menetapkan sendiri. Klik pada tetingkap Prompt Perintah, dan ketik: SET variabel = randomSungguh tidak penting jika anda menggunakan huruf besar "SET" atau tidak, tetapi saya suka memanfaatkan semua arahan saya, terutamanya semasa menulis fail kumpulan. Ini menjadikannya lebih mudah untuk memberitahu apa yang anda lakukan. Sekarang tekan enter. Bagus untuk anda! Anda telah menetapkan pemboleh ubah pertama anda! Tetapi apa yang boleh kita lakukan dengannya? siapa yang peduli jika semua yang dapat kita lakukan adalah menetapkan pemboleh ubah yang betul? Ternyata, kita dapat melakukan lebih banyak daripada itu, tetapi pertama-tama, mari kita cuba mendapatkan komputer untuk memberitahu kita apa pemboleh ubah ditetapkan. Baiklah, agar komputer membaca nilai variabel, kita taipkan nama pemboleh ubah, dalam kes ini, "variabel" dan masukkan nama di dalam% mark, seperti ini:% variabel%. Teruskan dan taipkannya, dan tekan enter:% berubah% Kesalahan pelik ya? Komputer mengatakan "'variabel' tidak dikenali sebagai perintah dalaman atau luaran, program yang dapat dikendalikan, atau file batch." Jadi mengapa ia memberikan kesilapan itu? Oleh itu, pada dasarnya, ia memberikan kesilapan itu kerana Command Prompt memperlakukan nilai pemboleh ubah itu seolah-olah anda mengetiknya sendiri. Oleh itu, semasa anda mengetik% variabel%, komputer menyangka anda menyuruhnya menjalankan perintah "random". Jelas sekali, kita memerlukan sesuatu yang lain untuk melihat nilai pemboleh ubah kita. Di sinilah arahan ECHO masuk. Perintah ECHO hanya memberitahu Command Prompt untuk bergema, atau mengatakan, apa sahaja yang anda taip selepas ECHO. Jadi, jika kita menaip perintah ECHO sebelum pemboleh ubah kita, kita harus mendapatkan apa yang kita mahukan: ECHO% pemboleh ubah% Ada! Sekarang kita mendapat apa yang kita mahukan! Komputer mencetak "rawak". Jelas, ini adalah nilai yang kami taip untuk pemboleh ubah kami, jadi hasilnya kami mahukan. Pada langkah seterusnya, kita akan mengetahui lebih lanjut mengenai pemboleh ubah, dan bagaimana kita dapat menggunakannya.

Langkah 3: Menggunakan Perintah SET dan Pemboleh ubah

Menggunakan Perintah SET dan Pemboleh ubah
Menggunakan Perintah SET dan Pemboleh ubah
Menggunakan Perintah SET dan Pemboleh ubah
Menggunakan Perintah SET dan Pemboleh ubah

Baiklah, sekarang kita tahu apa itu pemboleh ubah, apa lagi yang boleh kita lakukan dengannya? Kita boleh melakukan matematik, kita dapat menggunakannya sebagai syarat untuk menulis program dan kumpulan fail, kita dapat melakukan aritmetik asas, kita dapat melaksanakan perintah, dan banyak lagi. Kami tidak akan membahas semua yang boleh anda lakukan dengan pemboleh ubah, tetapi kami akan membincangkan beberapa aspek penting dari fungsi pemboleh ubah. Pertama, perintah SET dengan sendirinya hanya menghasilkan pemboleh ubah rentetan. Ini bermaksud bahawa ia tidak akan menambah atau melakukan matematik lain. Sekiranya anda memberitahu komputer untuk menambahkan 1 ke pemboleh ubah dengan nilai 1, ia akan memberi anda nilai 1 + 1. Sekiranya kita mahu menambahkan dua nombor itu, kita perlu meletakkan "/ a" selepas perintah SET. Oleh itu, kami menaip: SET / a varible = (nilai) Sekarang, andaikan kami ingin meletakkan pemboleh ubah dalam fail kumpulan kami yang akan diberikan oleh pengguna. Kami mungkin ingin melakukan ini jika kami mengira nilai mengikut formula, atau, dalam kes kami, jika kami mahu pengguna meneka nombor yang telah dihasilkan komputer. Untuk menghasilkan pemboleh ubah yang ditentukan pengguna, kami menambah a / p setelah perintah SET, dan kami meninggalkan kawasan itu setelah = kosong: SET / p pemboleh ubah = Di sana Anda pergi! Pemboleh ubah yang ditentukan pengguna! Sekiranya kita meletakkan baris ini dalam file batch, maka kumpulan akan berjalan hingga mencapai baris ini, dan kemudian akan menunggu input pengguna sebelum melanjutkan. Perkara menarik lain tentang / p adalah bahawa ia sepenuhnya menolak / a. Apabila kita memasukkan a / p kita hanya boleh menghilangkan / a. Perkara seterusnya yang akan kita pelajari mengenainya menghasilkan pemboleh ubah rawak. Sekiranya kita mahu komputer memilih nombor rawak untuk pemboleh ubah, kita hanya ketik perintah SET, diikuti oleh pemboleh ubah, dan kemudian tetapkan pemboleh ubah itu sama dengan% RANDOM%. Sekali lagi, ia tidak perlu menjadi modal, tetapi saya tetap ingin melakukannya. Oleh itu, kami taip: SET / a variabel =% RANDOM% Jelas, ini bukan pemboleh ubah yang ditentukan pengguna, jadi kami menyertakan / a. Sejuk! Jadi sekarang kita tahu bagaimana menghasilkan nombor rawak! Tetapi bagaimana rawak itu? Ternyata, komputer memilih nombor antara 0 dan sekitar 37, 000. Saya tidak pasti berapa nombor sebenarnya. Tetapi bagaimana jika kita mahukan bilangan yang lebih kecil? Katakan, seperti dalam Instructable ini, kita mahukan nombor yang dapat dikendalikan untuk sesuatu seperti permainan meneka? Nah, di situlah arahan IF masuk….

Langkah 4: Perintah IF dan GOTO. Kekuatan di Tangan Penulis Batch

Perintah IF dan GOTO. Kekuatan di Tangan Penulis Batch
Perintah IF dan GOTO. Kekuatan di Tangan Penulis Batch

Oleh itu, kami ingin menghasilkan nombor yang boleh dikendalikan. Katakan kita mahu menghasilkan nombor rawak antara 1 dan 20. Baiklah, itu senang dinyatakan, tetapi nilai RANDOM memilih nombor antara 1 dan 37, 000. Itulah yang akan kita gunakan JIKA. Perintah IF pada dasarnya mengatakan JIKA sesuatu berlaku, atau JIKA sesuatu sama, atau tidak sama, nilai tertentu, KEMUDIAN melakukannya. Jadi, JIKA menetapkan perintah bersyarat. Kami ingin menghasilkan nombor yang kurang dari dua puluh, tetapi lebih besar daripada satu, tentu saja, kami akan memulakan dengan memberitahu komputer untuk memilih nombor rawak, tetapi kemudian kami harus dapat memberitahu untuk memilih yang baru nombor sekiranya nombor yang dipilihnya tidak sesuai dengan keperluan kita. Di sinilah arahan GOTO masuk. GOTO hanya memberitahu komputer untuk PERGI ke label tertentu dalam kod. Label kelihatan seperti ini:: pilihSetiap kata yang diletakkan setelah titik dua menjadi label yang boleh kita akses dengan perintah GOTO. Oleh itu, jika kita ingin pergi ke bahagian kod dengan label "pilih" di atasnya, kita cukup taip: GOTO pickAlright, jadi mari kita teruskan dengan pengekodan kita. Kami telah memberitahu komputer untuk memilih nombor rawak, jadi kami telah mengetik: SET / aa =% RANDOM% Sekarang kami ingin menarik nombor ini ke julat yang lebih kecil. Oleh itu, kita akan menggunakan perintah IF. Sesuatu seperti ini harus dilakukan: JIKA% menjawab% GTR 20 GOTO pickIni memberitahu komputer untuk GOTO memilih JIKA jawapannya GReaTer daripada 20. Kita juga boleh meletakkan salah satu syarat ini pada perintah IF: EQU - EqualNEQ - Not EqualLSS - Less ThanGTR - Greater ThanLEQ - Less Than or Equal ToGEQ - Greater Than or Equal ToThus, dengan IF, GOTO, label, dan singkatan ini, kita dapat memanipulasi kumpulan kumpulan kita dengan cara yang kita pilih. Baiklah, jadi sekarang kita mempunyai nombor rawak di bawah dua puluh, dan inilah yang kita dapat setakat ini:: pickSET / a answer =% RANDOM% IF% answer% GTR 20 GOTO pickNow, mari pastikan komputer tidak ' t pilih 0 untuk jawapannya.:pickSET / a answer =% RANDOM% JIKA% jawapan% GTR 20 GOTO pickIF $ jawapan% EQU 0 GOTO pickOkay! Sekarang kita mempunyai nombor yang boleh digunakan antara 1 dan 20. Mari kita beralih ke daging Batch.

Langkah 5: Daging Permainan Kami

Daging Permainan Kami
Daging Permainan Kami

Baiklah, kami mempunyai nombor rawak kami. Kami juga ingin mengira berapa banyak tekaan yang dibuat oleh pemain kami, jadi kami akan menetapkan pemboleh ubah lain: SET / annnnn = 0 Itu menetapkan pemboleh ubah geussnum menjadi sifar, dan kami memberikannya / parameter, jadi kami dapat menambahkan setiap kali pengguna meneka. Baiklah. Kami mempunyai nombor rawak, dan kami telah menetapkan jumlah tekaan. Sekarang kita memerlukan beberapa arahan, dan kita perlu mempunyai beberapa input pengguna untuk nombor tekaan. Anda harus memahami sebahagian besarnya sekarang, jadi saya hanya akan menunjukkan kepada anda kod:: beginECHO Saya akan memikirkan nomborECHO yang saya fikirkan….. SET / a GuessNum = 0 (ECHO ini adalah dua baris dan menetapkan bilangan tekaan ke 0): pickASET / a Jawapan =% RANDOM% JIKA% Jawapan% GTR 20 GOTO pickAIF% Jawapan% EQU 0 GOTO pickAECHO Saya memikirkan nombor antara 1 dan 20ECHO Tentukan nombor yang saya fikirkan dari. (Bahagian ini melambung sehingga menetapkan nombor rawak kami, dan kemudian ECHO arahan untuk pemain kami): RetrySET / p Tebak = JIKA% Teka% LSS% Jawapan% ECHO Nombor Saya Lebih Tinggi. IF% Teka% GTR% Jawapan% ECHO Nombor Saya Lebih rendah. IF% Tebak% ==% Jawapan% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1GOTO Retry (Bahagian ini memberitahu komputer untuk meminta input pengguna, dan kemudian gelung berterusan sehingga pengguna memilih nombor yang betul. Kemudian, ia HINGGA label TAMAT): ENDECHO Anda Betul! Jawapannya% Jawapan% ECHO Diperlukan% GuessNum% Guesses. ECHO. PAUSECLSECHO Adakah anda mahu bermain lagi? ECHO Y / N? SET / p play = IF% play% EQU y GOTO beginIF% play% EQU n GOTO closeIF% play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagain (Inilah bahagian akhir kami. Ini memberitahu pengguna berapa banyak tekaan yang mereka ambil, dan kemudian bertanya sama ada mereka mahu untuk bermain lagi. Perhatikan bahawa kita juga boleh menggunakan EQU, GTR, dan LSS dengan huruf.) Baiklah! Sekiranya anda hanya menyalin kod ini, anda akan mempunyai permainan meneka yang sah. Tidak semestinya mewah, tapi hei, ia lebih baik daripada kebanyakan orang. Tetapi kita akan menambah sedikit kelainan, hanya untuk menjadikan perkara menarik….

Langkah 6: The Twist

Putaran
Putaran
Putaran
Putaran
Putaran
Putaran

Sekarang, kami mempunyai permainan yang berfungsi sekarang, tetapi kami ingin menjadikannya lebih menarik. Bagaimana dengan menambahkan beberapa insentif untuk pemain kita meneka nombor yang betul? Bagaimana kalau kita suka.. mematikan komputer mereka jika mereka tidak meneka nombornya? Itu akan sangat keren! Baiklah, sekarang kita akan menambahkan sedikit kod untuk membuat perubahan ini. Pertama, kita akan menambah baris ke bahagian kod yang kita beri label "cuba semula". Oleh itu, cari bahagian itu. Nampaknya seperti ini:: RetrySET / p Guess = IF% Guess% LSS% Jawapan% ECHO Nombor Saya Lebih Tinggi. IF% Teka% GTR% Jawapan% ECHO Nombor Saya Lebih rendah. IF% Teka% ==% Jawapan% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1GOTO RetryOkay, kita akan menambah baris ini tepat selepas "ECHO." (Apabila kita meletakkan titik selepas ECHO, ia meninggalkan garis kosong.) Inilah kod baru: JIKA% GuessNum% EQU 4 GOTO shutdownGKetika kita menambah baris ini, bahagiannya kelihatan seperti ini:: RetrySET / p Guess = IF% Guess% LSS% Jawapan% ECHO Nombor Saya Lebih Tinggi. IF% Teka% GTR% Jawapan% ECHO Nombor Saya Lebih rendah. IF% Teka% ==% Jawapan% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1IF% GuessNum% EQU 4 GOTO shutdownGGOTO RetrySampai sekarang, sudah semestinya jelas apa yang dilakukannya. Ia memberitahu komputer bahawa jika GuessNum EQUals 4, ia harus pergi ke bahagian kod berlabel "shutdownG". Jadi, apa yang kita mahu bahagian penutupan ini katakan? Sudah tentu, ia mesti dilabel "shutdownG". Seterusnya, ia mesti mematikan komputer. Perintah untuk mematikan adalah "SHUTDOWN -s". Ini akan mematikan komputer, tetapi kami ingin menambahkan beberapa perintah. Kami akan menambah "-f". Itu akan Memaksa semua program ditutup, dan kami akan menambahkan "-t 60". Itu akan memberitahu komputer untuk memaparkan tetingkap dan menunggu enam puluh saat untuk ditutup. Kami juga akan menambah mesej "-c" di sini "". yang akan memaparkan mesej di tetingkap penutupan. Selepas perintah shutdown kami, kami akan menggunakan kod yang sama seperti di atas, iaitu kod yang membolehkan pemain kami memilih nombor, dan memberi mereka maklum balas. Oleh itu, kod shutdown kami sekarang seperti ini:: shutdownGSHUTDOWN -s -f -t 60 -c "Terus meneka! Sekiranya anda tidak meneka nombor yang betul, komputer akan dimatikan!": shutdownG1SET / p Tebak = JIKA% Teka% LSS% Jawapan% ECHO Nombor Saya Lebih Tinggi. IF% Teka% GTR% Jawapan % ECHO Nombor Saya Lebih Rendah. IF% Tebak% ==% Jawapan% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1GOTO shutdownG1Sekarang kita telah menetapkan komputer ke SHUTDOWN, dan memaparkan mesej, tetapi kita juga perlu memberitahu komputer untuk menghentikan penutupan, jika telah dimulakan. Oleh itu, kami akan menambahkannya ke bahagian pengekodan berlabel "akhir". Bahagian itu kelihatan seperti ini:: ENDIF% GuessNum% GTR 4 SHUTDOWN -aECHO Anda Betul! Jawapannya% Jawapan% ECHO Diperlukan% GuessNum% Guesses. ECHO. PAUSECLSECHO Adakah anda mahu bermain lagi? ECHO Y / N? SET / p play = IF% play% EQU y GOTO beginIF% play% EQU n GOTO closeIF% play% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagainKami ingin menghentikan penutupan, dan kami melakukannya dengan arahan "SHUTDOWN -a". Oleh itu, kami akan menambah baris seperti ini: JIKA% GuessNum% GTR 4 SHUTDOWN -aKami akan menambahkan perintah itu tepat selepas label, dan itu akan memberitahu komputer untuk menjalankan perintah SHUTDOWN -a hanya jika pemain mempunyai membuat lebih daripada empat tekaan, dan memulakan penutupan. Baik! anda harus menyelesaikan permainan anda sekarang! KAMI akan memastikan tidak ada bug pada langkah seterusnya.

Langkah 7: Langkah Akhir

Langkah Akhir
Langkah Akhir

Baiklah, sekarang jika anda memasukkan semua pengekodan itu, maka anda akan mempunyai sesuatu yang kelihatan seperti ini:: beginECHO Saya akan memikirkan nomborECHO yang saya fikirkan….. SET / a GuessNum = 0: pickASET / a Jawapan =% RANDOM% JIKA% Jawapan% GTR 20 GOTO pickAIF% Jawapan% EQU 0 GOTO pickAECHO Saya memikirkan nombor antara 1 dan 20ECHO Tebak Nombor apa yang saya fikirkan.:RetrySET / p Tebak = JIKA% Tebak % LSS% Jawapan% ECHO Nombor Saya Lebih Tinggi. IF% Teka% GTR% Jawapan% ECHO Nombor Saya Lebih rendah. IF% Teka% ==% Jawapan% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1IF% GuessNum% EQU 4 GOTO shutdownGGOTO Retry: ENDIF% GuessNum% GTR 4 SHUTDOWN -aECHO Anda Betul! Jawapannya% Jawapan% ECHO Diperlukan% GuessNum% Guesses. ECHO. PAUSECLSECHO Adakah anda mahu bermain lagi? ECHO Y / N? SET / p play = IF% play% EQU y GOTO beginIF% play% EQU n GOTO closeIF% main% GTR y GOTO playagainIF% play% LSS y GOTO playagainIF% play% GTR n GOTO playagainIF% play% LSS n GOTO playagain: closeECHO Terima kasih kerana bermain! PAUSEEXIT cmd: shutdownGSHUTDOWN -s -f -t 60 -c "Terus meneka ! Sekiranya anda tidak meneka nombor yang betul, komputer akan dimatikan! ": ShutdownG1SET / p Tebak = JIKA% Teka% LSS% Jawapan% ECHO Nombor Saya Lebih Tinggi. IF% Teka% GTR% Jawapan% ECHO Nombor Saya adalah Lebih rendah. IF% Tebak% ==% Jawapan% GOTO ENDECHO. SET / a GuessNum =% GuessNum% + 1GOTO shutdownG1Ini mesti semua yang kita perlukan kan? Oleh itu, teruskan dan simpan fail notepad.txt yang anda miliki sebagai GuessGame.bat. Sebenarnya, anda boleh menamakannya apa sahaja yang anda mahukan, selagi anda meletakkan.bat pada akhir. Baiklah, jadi klik pada ikon dan jalankan program! Adakah ia berhasil? Baiklah. Ia melakukan beberapa perkara pelik bukan? Ternyata ketika kita menulis Batch seperti ini, command prompt ECHOs setiap perintah yang kita berikan, sama seperti kita mengetiknya ke command prompt. Jadi permainan ini berfungsi, tetapi agak tidak kemas dan tidak jelas. Bolehkah kita melakukan perkara ini? Yap! Yang perlu kita buat hanyalah menaip baris ini pada permulaan kod kita: @ECHO OFF Ini memberitahu komputer untuk mematikan ECHO. Dan tanda @ pada pengemis memberitahu bahawa mematikan ECHO untuk setiap arahan. Sekiranya kita membiarkannya @ keluar, maka ia akan mematikan ECHO hanya untuk satu arahan.

Langkah 8: Selesai

Tahniah! Anda baru sahaja menulis permainan fail Batch. Cukup sederhana bukan? Sekiranya anda dapat mengatasi ini, maka anda dapat mengetahui bagaimana melakukannya dengan sedikit fail Batch. Main dengannya, lakukan beberapa eksperimen. Sekiranya anda tidak dapat menyelesaikan sesuatu, atau sekiranya saya meninggalkan sesuatu dalam semua pengekodan itu, saya akan memberikan failnya di sini.

Disyorkan: