Fail kelawar - apa itu, untuk apa ia digunakan dan keupayaannya. Perintah fail kelawar. Bagaimana untuk membuat fail kelawar? Perintah asas

Dalam artikel ini kita akan melihat perkara yang berguna seperti " fail kelompok" Mari kita tentukan dahulu apa itu fail kelawar. Fail kelompok atau kelompok ialah fail teks ringkas yang mengandungi set perintah ( arahan) penterjemah dan mempunyai kelawar sambungan atau cmd ( cmd hanya berfungsi dalam OS keluarga NT). Anda boleh membuat dan mengedit fail tersebut menggunakan pad nota biasa atau mana-mana penyunting teks lain.

Sekarang anda mungkin bertanya, mengapa anda perlu boleh menulis fail kelawar seperti itu? Dan mengapa mereka diperlukan? Saya akan cuba menerangkan.

Pertama, ia digunakan untuk memudahkan kerja, i.e. sebagai contoh, anda perlu sentiasa melakukan beberapa operasi setiap hari ( contohnya, buat arkib dokumen tertentu), dengan bantuan fail badan, ini boleh diautomatikkan dan anda tidak akan mengambil bahagian di dalamnya lagi.

Kedua, fail kelompok ini sangat berkuasa ( jika, sudah tentu, anda tahu cara menulisnya), iaitu Anda juga boleh menulis program yang baik ( Maksud saya dari segi fungsi). Secara peribadi, mereka banyak membantu saya dalam kerja saya, dan saya terlupa tentang beberapa perkara apabila saya melakukannya secara manual.

Sekarang mari kita beralih terus ke asas fail kelompok ini. Bagaimana ia dicipta? Anda hanya perlu mencipta dokumen teks mudah, buka dan segera pergi ke tab " Fail->simpan sebagai", masukkan bukannya sambungan " Teks document.txt", Sebagai contoh " Dokumen teks.bat" dan simpan, jadi kami mendapat fail kelompok dengan sambungan .bat, tetapi ia tidak melakukan apa-apa lagi.

Sebagai permulaan, saya akan memberikan contoh fail kelompok yang saya gunakan di tempat kerja saya untuk mengarkibkan dokumen.

"C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.doc "C:\Program Files\WinRAR\winrar. exe" a -r -dh -ed -agYYYY-mm-dd E:\arhaccounts\ d:\accounts\*.xls "C:\Program Files\WinRAR\winrar.exe" a -r -dh -ed -agYYYY -mm-dd E:\arhaccounts\ d:\accounts\*.txt

Sekarang saya akan memberitahu anda sedikit tentang apa yang fail kelompok ini lakukan. WinRar bermula, kemudian arahan Winrar ikuti:

  • a - ini adalah untuk menambah arkib;
  • -r - proses subfolder;
  • -dh - buka fail kongsi;
  • -ed - jangan tambah folder kosong;
  • YYYY-mm-dd - tambah tarikh semasa pada nama arkib ( format tarikh);
  • E:\arhaccounts\ - laluan di mana arkib akhir akan ditempatkan;
  • d:\accounts\*.doc - laluan dan topeng fail yang perlu diarkibkan.

Dalam kes ini, kami mengarkibkan semua Word, Excel dan fail teks; kami tidak perlu mengarkibkan yang lain. Pengarkiban kami pergi ke cakera lain, dan kami juga menyalin arkib yang terhasil ke komputer lain, supaya arkib disimpan di pejabat lain. Penyalinan berlaku melalui rangkaian, jadi komputer tempat arkib disalin mesti dihidupkan. Untuk melakukan ini, anda boleh menggunakan arahan berikut:

Salinan E:\arhaccounts\*.rar \\namecomp\arhiv\

Contoh arahan untuk fail kelawar

Sekarang mari kita lihat arahan asas yang boleh anda gunakan.

Jika anda perlu memadam fail, tulis yang berikut:

Del d:\file\test.doc


Untuk memadam keseluruhan direktori, tulis:

Rd d:\file\

Jika anda perlu memadamkan semuanya daripada beberapa direktori setiap kali, kemudian gunakan ini:

Gema Y| del d:\file\

  • del d:\file\ - ini adalah tepat pada pemadaman semua fail;
  • gema Y| - arahan mengesahkan pemadaman kerana Jika anda tidak memasukkan arahan ini, anda akan melihat mesej yang mengesahkan pemadaman - "Teruskan", dan anda perlu menjawab soalan ini setiap kali.

Sekarang mari kita lihat contoh yang lebih rumit, di mana syaratnya sudah dipenuhi:

@echo off "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\test.rar d:\test JIKA tiada d:\test\123.rar GOTO 1 JIKA ADA d: \test\123.rar GOTO 2:2 "C:\Program Files\WinRAR\winrar.exe" x -O+ -IBCK d:\test\123.rar c:\ del d:\test\123.rar:1 del d:\test\test.rar end

Sekarang saya akan menerangkan, katakan anda perlu unzip arkib test.rar, yang akan mengandungi banyak fail, tetapi jika terdapat fail 123.rar di sana, ia perlu dinyahzip ke akar pemacu C, dan selebihnya fail akan kekal tidak disentuh dalam direktori yang sama.

Agar, arahan @echo off diperlukan supaya tiada apa-apa yang ditunjukkan pada skrin ( pada asasnya, jika anda tidak perlu, anda boleh meninggalkan menulis baris ini). Seterusnya, kami melancarkan Winrar dan membongkar arkib test.rar ke dalam folder ujian. Kemudian datang syarat jika dalam folder ujian ( selepas membongkar ujian.rar) kami tidak mempunyai fail 123.rar, maka kami hanya melaksanakan fail kelompok dan pergi ke baris: 1 dan kemudian hanya memadam fail test.rar kerana ia tidak perlu kerana Kami telah membongkar semua yang kami perlukan. Tetapi jika terdapat fail 123.rar di sana, maka pelaksanaan fail kelompok pergi ke baris: 2, selepas itu fail 123.rar sudah dibongkar ke akar pemacu C. Dalam erti kata lain, kita mempunyai syarat yang dipenuhi , jika ada fail, maka lakukan ini, jika tiada fail, lakukan ini. Katakan jika kami tidak menyatakan syarat dalam contoh ini, maka fail kelompok kami akan memberikan ralat apabila kami tidak mempunyai fail 123.rar dalam folder ini.

Sekarang mari kita lihat contoh ini, katakan anda perlu mengalihkan fail dari direktori yang terletak pada pemacu D ke pemacu denyar setiap kali. Setiap kali anda perlu pergi ke pemacu komputer saya D, pilih folder yang dikehendaki, pilih semua fail daripadanya dan potong, dan kemudian pergi ke pemacu kilat dan tampalkannya. Dengan bantuan fail badan ini dilakukan dalam satu klik ( dengan satu syarat bahawa setiap kali pemacu kilat akan, sebagai contoh, pemacu G atau apa sahaja yang anda miliki). Berikut ialah contoh fail kelompok sedemikian:

Alihkan "D:\catalog\*.doc" G:\catalognaflehe\

Dan semua fail dengan sambungan dokumen yang terletak dalam direktori D:\catalog akan dialihkan ke pemacu denyar. Sekarang saya ingin mengatakan bahawa anda boleh menggunakan skrip dalam fail kelompok ( skrip) menggunakan Windows Scripting Host dan jika perlu, sebagai contoh, untuk memaparkan mesej selepas fail telah disalin ( contoh sebelumnya) tampal ini:

Echo var WHSHell = WScript.CreateObject("WScript.Shell"); > %temp%\mes.js echo WSHShell.Popup("Fail Disalin"); >> %temp%\mes.js mulakan %temp%\mes.js deltree /y %temp%\mes.js

Sebenarnya, anda boleh bercakap banyak tentang menulis fail kelompok dan, sudah tentu, ini tidak boleh dimuatkan dalam satu artikel; di sini saya hanya menunjukkan prinsip yang digunakan semasa menulis fail kelawar, asasnya, boleh dikatakan. Jika anda ingin mengetahui lebih banyak arahan untuk menulis fail kelompok, anda boleh melihatnya dengan mudah dengan menaip ( Mula - Jalankan - cmd) arahan bantuan, tetapi, sudah tentu, tidak semua arahan yang boleh digunakan dalam fail kelompok. Semoga berjaya menulis fail BAT ( baju badan).

Sambungan topik dalam artikel -

salam sejahtera! Hari ini saya memutuskan untuk memberitahu anda tentang fail kelawar, atau fail kelompok, kerana ia hanya dipanggil. Saya menganggap bahawa penggunaan fail kelawar akan berguna untuk setiap pengguna komputer, akan mengembangkan keupayaan dan memudahkan prestasi banyak tugas.

Apakah baht dan mengapa ia diperlukan?

Bat ialah sambungan fail (bat). Pasti ramai pengguna tahu bahawa setiap fail mempunyai sambungannya sendiri. Ini adalah baris terakhir selepas tempoh dalam tajuk. “Ekor” inilah yang perlu dikenal pasti oleh sistem sebagai muzik, video, imej atau mana-mana yang lain. Anda juga boleh bereksperimen. Ambil mana-mana imej dan namakan semula bersama dengan sambungan. Windows akan segera memberitahu anda bahawa anda menukar sambungan dan fail mungkin tidak dapat dikesan oleh sistem. Setuju dengan permintaan itu dan anda akan melihat bahawa gambar anda tidak lagi dipaparkan sebagai imej. Jika anda menamakan semula seperti dahulu, semuanya akan dipulihkan semula. Jika sambungan tidak kelihatan kepada anda, anda perlu mengaktifkan fungsi ini dalam Explorer, dalam tab "Lihat".

Untuk Windows, kelawar ialah fail dengan arahan untuk tindakan tertentu yang terkandung dalam fail kelawar itu sendiri. Fail kosong dalam format baht akan dilancarkan, tetapi tiada tindakan akan dilakukan. Fail kelompok ialah satu set arahan untuk konsol Windows.

Bagaimana untuk membuat fail kelawar untuk menjalankan program?

Untuk membuat fail kelompok, anda perlu melancarkan editor teks, kemudian simpan fail tersebut dengan nama akhir kelawar. Jika editor anda tidak mempunyai fungsi menyimpan dengan sambungan sedemikian, maka anda perlu mendaftarkannya sendiri. Apabila kita menjalankan fail sedemikian, konsol akan dibuka dan jika tiada arahan, ia akan ditutup serta-merta.

Sekarang mari kita tetapkan arahan untuk menjalankan program. Untuk melakukan ini, anda perlu membuka fail kumpulan yang kami buat dalam Notepad atau editor lain dan masukkan arahan.

Mari kita lancarkan penyemak imbas sebagai contoh. Anda mesti memasukkan arahan Mula dahulu dan selepas ruang tulis Opera.

Ia sepatutnya kelihatan seperti ini:

Mulakan Opera

Ini akan berfungsi untuk program yang diketahui oleh sistem, tetapi jika anda melancarkan perisian yang tidak diketahui oleh sistem, anda perlu menulis keseluruhan laluan ke program tersebut. Sebagai contoh, jika anda telah memasang ftp dalam folder Program Files, maka untuk memulakannya anda perlu memasukkan arahan

mulakan filezilla

Dan jika klien ftp dipasang dalam folder lain, anda perlu memasukkan keseluruhan laluan.

Skop aplikasi fail kelompok agak luas. Anda boleh memasukkan pelbagai arahan ke dalam konfigurasi. Anda boleh mencarinya di Internet. Jika anda berminat dengan maklumat yang lebih terperinci mengenai arahan, tulis dalam komen dan saya akan cuba menjawab anda. VBS berfungsi dengan cara yang sama. Ini adalah perkara yang sama, hanya arahan tidak dilaksanakan melalui konsol, dan arahannya sedikit berbeza.

Teknologi ini akan membantu dalam melaksanakan pelbagai jenis tugas, dan dalam mod automatik. Sesetengah pengguna juga menulis virus dengan cara ini. Untuk menjadikannya mustahil untuk menukar konfigurasi fail menggunakan editor teks, anda perlu menukar fail kelawar kepada exe. Ini akan membantu untuk membuat pelbagai perisian tambahan yang boleh anda temui di Internet. Sebagai contoh, untuk menukar bat kepada exe, program penukar Bat kepada exe akan membantu.

Fungsi baht sangat berguna dan kadangkala perlu. Menggunakannya anda boleh menulis keseluruhan program dengan pelbagai tindakan yang sempit. Skop aplikasi bergantung hanya pada pengetahuan arahan dan keupayaan untuk menggabungkannya. Oleh itu, gunakan dan kembangkan kemahiran dan keupayaan anda untuk menggunakan komputer di peringkat Pengguna Super.

Adakah anda ingin memanjangkan hayat komputer anda? Kemudian, untuk menjimatkan sumber sistem, cipta pelbagai program dan utiliti yang berguna. Anda boleh menjalankannya menggunakan hanya satu fail kelompok.


Pengguna komputer dengan sistem pengendalian Windows sering menemui fail yang mempunyai sambungan .bat. Ini adalah apa yang dipanggil fail kelompok. Apakah tujuannya, bagaimana ia dicipta dan diubah suai, apakah masalah yang dihadapi oleh pengguna apabila bekerja dengan fail kelompok?

Apakah fail kelawar? Untuk apa itu?

Fail kelawar ialah fail teks dengan set aksara tertentu yang dimasukkan ke dalam baris arahan. Dengan melancarkan hanya satu fail, pengguna menjimatkan masa untuk melakukan sejumlah besar tindakan. Fail sedemikian digunakan untuk mengautomasikan tindakan pengguna yang kerap berulang. Fail dengan sambungan .bat dipanggil fail kelompok (arahan). Dalam slanga pengguna ia dipanggil "batnik".

Contoh fail kelawar

Terdapat banyak fail kelawar berguna yang anda boleh gunakan untuk mengawal sistem komputer anda, melancarkan virus dan mencuri data peribadi.
Contoh beberapa fail boleh laku yang popular:
  • Memadam folder kosong dan subfolder pada komputer dari tempat fail dilancarkan - untuk /f “usebackq delims=” %%d dalam (`“dir /ad/b/s | sort /R”`) do rd "% %d"
  • Ingat! Jika terdapat fail tersembunyi dengan sambungan .db atau .ini dalam folder, pemadaman folder adalah mustahil.
  • Memindahkan fail maklumat ke subfolder yang menunjukkan tarikh operasi – SET FOLDER=%DATE:~-4%-%DATE:~3.2%-%DATE:~0.2%
    SET ARCFOLDER=Z:\_exchange\%FOLDER%mkdir %ARCFOLDER%
  • Memprogramkan kelewatan arahan berikutnya untuk masa yang diperlukan – pilihan /N /T:y,%sec% > nul
  • Lancarkan fail dalam tetingkap yang diminimumkan - mulakan /m /w %path\file%
Beribu-ribu fail kelawar yang berbeza membantu pengaturcara dan pengguna berkomunikasi dengan komputer, mencari jalan keluar dari pelbagai situasi, dan membersihkan sistem virus dan kod berniat jahat. Proses menulis skrip untuk fail kelompok bergantung sepenuhnya kepada imaginasi pengguna.

Bagaimana untuk membuka fail dengan sambungan kelawar

Dengan melancarkan fail sedemikian, anda boleh membuka dan menutup banyak program. Sebahagian daripada mereka tidak digunakan dalam versi Windows yang lebih baru.
Contoh tugasan yang boleh diselesaikan dengan menjalankan fail .bat:
1. Pengaktifan satu atau lebih utiliti yang melaksanakan fungsi dalam sistem - pemasa untuk menghidupkan dan mematikan komputer, secara automatik mengosongkan papan keratan maklumat lapuk, mengatur pusat akses untuk Wi-Fi. Perintah pertama untuk dilaksanakan ialah mulakan "" path_to_program. Jika terdapat ruang, anda mesti menyertakan laluan dalam petikan mula "" "C:\Program Files\program.exe".
Seterusnya, anda harus menentukan parameter pelancaran mula "" c:\windows\notepad.exe file.txt. Terdapat satu keanehan dalam proses permulaan. Jika anda tidak menggunakan petikan berganda semasa menentukan nama fail arahan, arahan mungkin tidak dilaksanakan dengan betul.
2. Anda boleh melancarkan satu lagi daripada fail yang telah dibuka dengan menaip perintah memanggil parameter path_to_file_bat. Maklumat tentang mereka ada dalam fail kelawar lain: panggil file2.bat parameter1 parameter2 parameter3.
Untuk mengaktifkan program lain, gunakan arahan berikut:
  • gema % 1
  • gema % 2
  • gema % 3
  • jeda
Selepas semua operasi dilakukan, semua parameter yang dipindahkan muncul pada paparan. Jika tiada susunan operasi lain dimasukkan, tetingkap arahan akan ditutup secara automatik. Perintah jeda menghentikan program dan menutup tetingkap pengendalian.

Bagaimana untuk membuat fail kelawar pada Windows? Urutan

Cara paling mudah untuk mencipta fail kelawar adalah dengan menggunakan program NotePad. Selepas mengaktifkan program dari panel "Standard" atau menggunakan arahan C:\Windows\notepad.exe, kod tersebut dimasukkan atau disalin ke halaman notepad.

Dalam NotePad, fail mesti disimpan dengan sambungan .bat. Anda mesti berhati-hati memastikan bahawa fail yang disimpan adalah daripada jenis "Semua fail".


Penting! Jika adalah mustahil untuk menyimpan fail kelawar dalam folder tertentu kerana pengguna tidak mempunyai hak pentadbir, mesej "Anda tidak mempunyai kebenaran untuk menyimpan fail di lokasi ini" muncul pada paparan komputer. Tukar lokasi fail kepada "Desktop" atau "Dokumen". Selepas itu, gunakan penyalinan untuk memindahkannya ke lokasi yang dikehendaki pada komputer anda. Fail .bat telah dibuat.

Adakah mungkin untuk menukar fail kelawar

Fail dengan sambungan .bat boleh diedit untuk menukar pelbagai parameter. Ini boleh dicapai dalam beberapa cara.
Pertama. Buka menu konteks dan pilih arahan Edit. Pengeditan yang diperlukan dibuat pada fail dalam mana-mana editor teks yang dipasang pada komputer.


Kedua. Juga dilakukan menggunakan NotePad. Anda perlu membuka Explorer, cari fail dan seret dengan tetikus ke dalam kawasan kerja.


Ketiga. Pergi ke Notepad, dalam menu "Fail", cari folder yang dikehendaki dengan fail kelompok.


Seterusnya, tukar pilihan paparan fail supaya "Semua fail" aktif. Selepas ini, anda boleh membuka fail dan mengeditnya, menukar parameter dan arahan yang diperlukan.


Ingat! Apabila menggunakan mana-mana kaedah pengeditan di atas, fail akhir mesti disimpan menggunakan sambungan "Semua fail". Jika tidak, komputer akan menyimpan fail yang diubah suai sebagai fail teks - *.txt.

Anda perlu menjalankan fail kelawar sebagai pentadbir

Untuk menjalankan fail sebagai pentadbir, anda perlu klik kanan pada nama dan laksanakan arahan "Jalankan sebagai pentadbir".

Terdapat beberapa cara lain untuk menjalankan fail kelompok.
1. Selepas menekan butang MULA (kombinasi WIN atau Ctrl+Shift+Esc), anda mesti:
  • tukar kepada abjad Latin dan taip arahan.bat pada papan kekunci.
  • pilih fail boleh laku *.exe.
  • jalankan fail menggunakan arahan "Run as administrator".
2. Buka pengurus tugas (Ctrl + Shift + Esc atau Ctrl + Alt + Delete), pada tab "Proses", pilih arahan "Paparkan proses semua pengguna". Dalam menu "Fail", gunakan kombinasi kekunci Ctrl + Klik Kiri untuk mengklik pada tab "Tugas Baharu", kemudian klik Jalankan.
3. Apabila memaparkan jenis fail didayakan, anda boleh mencipta fail *.txt, namakannya mengikut kehendak anda dan tukar sambungan kepada .bat.

Mengapa fail kelawar tidak dijalankan? Sebab yang mungkin

Sebab yang paling mungkin untuk komputer tidak bertindak balas terhadap pelaksanaan fail arahan dengan sambungan .bat atau untuk operasi yang salah selepas permulaan:
  • penulisan arahan yang salah dalam skrip
  • penggunaan tanda baca yang salah
Dalam kebanyakan kes, ini berlaku apabila anda secara cuai menukar susun atur papan kekunci daripada Latin kepada Rusia. Fail arahan tidak menerima abjad Cyrillic. Tempat-tempat di mana fon Rusia muncul dalam skrip tidak dapat difahami oleh komputer. Secara semulajadi, laluan pelaksanaan fail kelawar berubah.

Cara membuat fail dengan kelawar sambungan: video

Tonton tutorial video tentang membuat fail dengan sambungan .bat di sini:

Dalam artikel ini:

  • Mentakrifkan Pembolehubah
  • Pembolehubah baris arahan (parameter panggilan fail kelawar)
  • JIKA Operator Bersyarat
  • Fungsi
  • Menggunakan nilai pulangan (memproses kod keluar)

Mentakrifkan Pembolehubah

SET<Имяпеременной>=<Значениепеременной>

Pernyataan SET ialah lanjutan daripada keupayaan sistem pengendalian untuk memanipulasi parameter. Ia menentukan pembolehubah yang nilainya digantikan dengan namanya apabila nama itu digunakan di antara tanda peratus. Jadi, jika diberikan (pembolehubah yang diperlukan oleh banyak permainan yang menggunakan kad bunyi komputer):

SET BLASTER=A220 I5 D1 P330

kemudian apabila menggunakan pembinaan berikut dalam fail kelompok:

ECHO %BLASTER%

"A220 I5 D1 P330" akan dipaparkan pada skrin. Pembolehubah yang ditakrifkan menggunakan pernyataan SET dipanggil pembolehubah persekitaran dan boleh dilihat selepas pelaksanaan sehingga DOS dimulakan semula (melainkan diubah secara manual dalam memori). Iaitu, ia boleh digunakan dari satu kumpulan fail atau program selepas dinyatakan dalam yang lain. Yang paling terkenal ialah pembolehubah PATH, iaitu satu set laluan untuk mencari fail dengan cepat. Ia ditetapkan dalam fail autoexec.bat.

Pembolehubah Baris Perintah
(parameter untuk memanggil fail kelawar)

%<цифра 0-9>

Seperti dalam mana-mana bahasa, dalam bahasa fail kelompok adalah mungkin untuk menggunakan pembolehubah yang diterima sebagai parameter fail kelawar.

Terdapat sejumlah 10 pembolehubah bebas yang sedia ada secara serentak. Ini agak kecil untuk menulis program yang kompleks, walaupun 3-4 selalunya cukup untuk kerja biasa. Nilai pembolehubah adalah sama dengan nilai parameter yang sepadan daripada baris arahan. Pembolehubah %0 akan mengandungi nama fail .bat dan, jika anda menentukannya, laluan kepadanya. Iaitu, jika anda menjalankan fail abc.bat dengan parameter berikut:

abc.bat a bc def

maka pembolehubah %0 akan mengandungi nilai abc.bat , %1 akan mengandungi nilai a , %2 akan mengandungi bc dan %3 akan mengandungi def . Sifat ini digunakan secara meluas untuk mencipta fail kelompok serba boleh apabila berurusan dengan operasi berulang.

Untuk mendapatkan lebih daripada 10 pembolehubah daripada baris arahan, anda boleh menggunakan arahan SHIFT.

Arahan SHIFT membolehkan anda menggunakan lebih daripada 10 parameter baris arahan. Walau bagaimanapun, parameter terdahulu yang sepadan hilang. Dengan kata lain, arahan SHIFT mengalihkan semua nilai pembolehubah satu langkah ke kiri. Iaitu, pembolehubah %0 akan mengandungi nilai yang sebelumnya terkandung dalam pembolehubah %1, dan pembolehubah %1 akan mengandungi nilai pembolehubah %2 sebelum anjakan. Walau bagaimanapun, operasi ini tidak boleh diterbalikkan, iaitu, adalah mustahil untuk mengalihkan pembolehubah kembali.

JIKA Operator Bersyarat

Nasib baik, penterjemah arahan cmd.exe Windows 2000 moden dan kemudiannya menyokong blok arahan dalam binaan percabangan, menghapuskan keperluan untuk IF dengan label. Blok arahan disertakan dalam kurungan. Ia kelihatan seperti ini (meniru gaya lekukan C/C++):

jika keadaan (

Perintah Rem dari cawangan 'kemudian'

Rem...

) lain (

Perintah Rem cawangan 'lain'

Rem...

Contoh penggunaan khusus:

@gema dimatikan

tetapkan BUILDMODE=%1

jika "%BUILDMODE%" == "" (

Echo FAIL: Argumen diperlukan ^(--debug, --release^)

Keluar /b 1

rem Alih keluar semua tanda sempang daripada hujah untuk memudahkan pemprosesan

tetapkan BUILDMODE=%BUILDMODE:-=%

jika "%BUILDMODE%" == "debug" (

Tetapkan CCFLAGS=/Od /MDd /Z7

) lain (

Tetapkan CCFLAGS=/O2 /MD

Pada pendapat saya, ini agak mungkin untuk dijalani. Tetapi, seperti biasa, kehidupan tidak semudah yang disangka. Ada satu masalah. Pembolehubah yang digunakan dalam blok kemudian dan lain-lain dikembangkan sebelum blok memulakan pelaksanaan, bukan semasa pelaksanaan. Dalam contoh di atas ini tidak menyebabkan sebarang masalah, tetapi dalam perkara berikut ia akan:

jika "%BUILDMODE%" == "debug" (

INFO Gema: Menetapkan mod persekitaran nyahpepijat

Tetapkan OPTFLAGS=/Od

Tetapkan CCFLAGS=%OPTFLAGS% /MDd /Z7

) lain (

INFO Gema: Menetapkan mod pelepas persekitaran

Tetapkan OPTFLAGS=/O2

Tetapkan CCFLAGS=%OPTFLAGS% /MD

Tangkapannya ialah dalam kedua-dua blok, penggantian pembolehubah OPTFLAGS akan berlaku sebelum ia ditukar semasa pelaksanaan blok tersebut. Sehubungan itu, CCFLAGS akan diisi dengan nilai yang OPTFLAGS ada pada masa pelaksanaan ini jika blok bermula.

Masalah ini diselesaikan dengan menggunakan pengembangan pembolehubah tertunda. Pembolehubah yang terkandung dalam !…! bukannya %...% , maknanya akan didedahkan hanya pada masa penggunaan langsung. Mod ini dilumpuhkan secara lalai. Anda boleh mendayakannya sama ada dengan menggunakan suis /V:ON apabila memanggil cmd.exe, atau dengan menggunakan arahan:

dalam teks fail kelawar itu sendiri. Kaedah kedua nampaknya lebih mudah bagi saya - tidak begitu menarik untuk meminta seseorang menjalankan skrip anda dengan parameter tertentu.

Dengan itu, contoh "salah" sebelumnya boleh diperbetulkan seperti ini:

setlocal enabledelayedexpansion

jika "%BUILDMODE%" == "debug" (

INFO Gema: Menyediakan persekitaran mod nyahpepijat

Tetapkan OPTFLAGS=/Od

Tetapkan CCFLAGS=!OPTFLAGS! /MDd /Z7

) lain (

INFO Gema: Menyediakan persekitaran mod keluaran

Tetapkan OPTFLAGS=/O2

Tetapkan CCFLAGS=!OPTFLAGS! /MD

Sekarang ini hampir blok if-then-else sepenuhnya. Hampir, kerana jika dalam salah satu arahan gema anda menemui kurungan penutup, maka anda perlu melarikan diri dengan aksara ^, jika tidak, penghurai akan menjadi keliru...

Tetapi dalam apa jua keadaan, ini jauh lebih baik daripada bilangan teg dan peralihan yang tidak masuk akal.

Fungsi

Adakah mungkin untuk mencipta fungsi dalam fail kelawar? Ya awak boleh. Lebih-lebih lagi, kadang-kadang ia juga perlu. Benar, ini boleh dipanggil fungsi secara bersyarat.

Terdapat sintaks khas untuk arahan panggilan, yang membolehkan anda pergi ke tanda dalam fail kelawar yang sama, mengingati tempat dari mana panggilan ini dibuat:

call:label argumen

Fungsi dikembalikan dengan arahan:

keluar /b [kod pulangan pilihan]

Kekunci /b sangat penting di sini: tanpanya, anda tidak akan keluar dari fungsi, tetapi skrip secara umum.

Untuk butiran, taip pada baris arahan:

hubungi/?

keluar /?

Menariknya, arahan panggilan dengan sintaks ini menyokong panggilan rekursif dengan penciptaan automatik bingkai baharu untuk argumen pembolehubah %0-%9. Kadang-kadang ini boleh berguna. Berikut ialah contoh klasik pengiraan faktorial rekursif dalam bahasa arahan:

@gema dimatikan

panggil:faktor % 1

gema %RESULT%

keluar

rem Berfungsi untuk mengira nilai faktorial

Log masuk rem:

rem % 1 Nombor yang anda ingin kira faktorial

rem Output:

rem %RESULT% Nilai faktor

:faktorial

jika % 1 == 0 (

Set RESULT=1

Keluar /b

jika % 1 == 1 (

Set RESULT=1

Keluar /b

set /a PARAM=%1 - 1

call:faktorial %PARAM%

set /a RESULT=%1 * %RESULT%

keluar /b

Contoh kerja:

> faktorial.bat 10

3628800

Menggunakan Nilai Pulangan
(memproses kod keluar program)

Apabila mana-mana program menyelesaikan kerjanya, ia mengembalikan kod penamatannya kepada sistem pengendalian. Adalah menjadi kebiasaan untuk mengembalikan sifar apabila berjaya disiapkan, jika tidak, kod ralat. Kadangkala, atau lebih kerap, program "sengaja" mengembalikan nilai bukan sifar supaya beberapa butiran operasinya boleh "dipelajari" dalam fail kelompok. Sebagai contoh, program mengembalikan kod kekunci yang ditekan, dan fail .bat melakukan pelbagai tindakan berdasarkannya.

Bagaimanakah fail kelompok dapat mengetahui kod keluar program yang dilaksanakan? Pembolehubah utama ERRORLEVEL disediakan untuk tujuan ini.

Contoh fail kelompok dengan peringkat ralat:

@ECHO OFF

REM Jalankan program prg1.exe

PRG1.EXE

Analisis Kod Penyiapan REM

JIKA RALAT TAHAP 2 MENDAPAT FILENOTFOUND

JIKA RALAT TAHAP 1 DAPAT PENULIS

JIKA ERRORLEVEL 0 GOTO EXITOK

GOTO ONEXIT

:FAIL TIDAK DIJUMPAI

Ralat ECHO! Fail tidak dijumpai!

GOTO ONEXIT

:PENULIS

Ralat Rakaman ECHO!

GOTO ONEXIT

:EXITOK

ECHO Program ini telah berjaya disempurnakan.

GOTO ONEXIT

:ONEXIT

Sila ambil perhatian bahawa analisis kod keluar tidak bermula dari sifar, tetapi dari nilai maksimum yang mungkin. Hakikatnya ialah semakan sedemikian bermaksud: "jika tahap ralat lebih besar daripada atau sama dengan nilai, maka ...". Iaitu, jika kita menyemak bermula dari sifar, sebarang nilai akan menjadi benar pada baris pertama, yang salah.

Ini adalah ralat yang paling biasa dalam program jenis ini.

Fail Bat ialah dokumen teks yang mengandungi senarai perintah (arahan) yang dilaksanakan secara berurutan. Mereka boleh menjadi sangat mudah sehingga pengguna biasa boleh menggunakannya. Dalam topik hari ini, kita akan melihat apa itu fail kelompok, bagaimana untuk mencipta fail kelawar dalam Windows 7, 8, dan juga pertimbangkan contoh fail kelompok.

Pentadbir sistem (pengguna lanjutan) sangat menyedari kegunaan fail kelawar, tetapi pengguna biasa tidak biasa dengannya, mereka takut dengan struktur kod dan menjalankan skrip ini. Ini adalah malang kerana ramai orang mengelak daripada menggunakan alat yang berkuasa untuk melaksanakan tugas rutin dan berulang. Fail Bat boleh menjadi kompleks, memerlukan kemahiran pengaturcaraan profesional, atau mudah.

Fail badan mengandungi satu atau lebih baris perintah yang dilaksanakan secara berurutan. Fail Bat mempunyai sambungan (kelawar atau cmd) dan dilaksanakan melalui antara muka penterjemah arahan. Semua arahan boleh dimasukkan ke dalam cmd, tetapi setiap kali memanggil baris arahan Windows 7, 8 dan menulis kod adalah tugas, jadi lebih mudah untuk membuat fail kelawar.

Mencipta fail kelawar

Untuk membuat fail kelompok, anda memerlukan editor teks (notepad, notepad++) dan senarai arahan kelawar. Lihat algoritma anggaran di bawah.

1. Buat dokumen teks dengan sambungan txt. Klik kanan pada kawasan kosong File Explorer atau lokasi lain. Tuding tetikus anda pada "buat", kemudian pilih "dokumen teks" daripada submenu. Beri nama, sebagai contoh, batnik.

2. Muat turun notepad++ kemudian pasangkannya. Buka batnik.txt dalam notepad++, pilih "pengekodan", tuding pada "pengekodan", "Cyrillic", klik pada OEM 866. Lakukan langkah ini jika anda menggunakan output perkataan Rusia (penjelasan) dalam skrip, jika tidak, anda akan melihat bahasa buruk (bukan aksara yang sah). Seterusnya, tulis arahan. Sebagai contoh, salin teks ini:

@gema dimatikan
echo Hello – ujian fail kelawar
jeda
dir c:windows
jeda

4. Klik dua kali untuk menjalankan batnik.bat untuk melaksanakan urutan arahan. Selepas fail kelawar dilaksanakan, ia akan ditutup secara automatik.

Anda juga boleh melancarkan notepad, tekan Win + R, masukkan notepad dalam baris dan klik Enter. Selepas memasukkan kod, klik "fail" dan kemudian "simpan sebagai". Dalam tetingkap, nyatakan laluan simpan, nama fail dengan sambungan kelawar dan klik "simpan". Lakukan perkara yang sama dengan notepad++ untuk menukar pengekodan (langkah 2) jika anda menggunakan aksara Rusia.

Contoh fail kelawar

Sekarang mari kita lihat mencipta fail kelawar dalam Windows 7, 8, yang menyediakan maklumat tentang rangkaian, menyemak sambungan Internet dan menunjukkan dengan jelas tindakan fail kelompok. Buat fail kelawar dan tulis baris ini.

ECHO DIMATIKAN
:: lebih bersih.
Maklumat Sambungan ECHO.
:: memaparkan teks pada skrin yang datang selepas perkataan perkhidmatan ECHO.
IPCONFIG /SEMUA
:: Mencetak maklumat tentang semua sambungan rangkaian.
JEDA
:: Menjeda skrip supaya anda boleh melihat maklumat rangkaian.
PING yandex.ru
:: Ping, menyemak kehadiran (ketiadaan) sambungan Internet
Operasi ECHO selesai. Tekan enter!
:: Memaparkan perkataan selepas ECHO yang menunjukkan PING telah selesai.
JEDA
:: Perintah terakhir ini ditulis untuk melihat maklumat sambungan. Jika ia tidak ada, maka skrip fail kelompok akan berhenti dan tetingkap akan ditutup.

Malah, terdapat sejumlah besar contoh fail baht untuk latihan dan muat turun di Internet. Anda hanya perlu mengkaji sintaks dan arahan untuk mencipta fail kelompok anda sendiri untuk memenuhi keperluan anda. Saya harap anda faham mengapa fail kelompok diperlukan, dan bagaimana untuk mencipta fail kelawar dalam Windows 7.8.