Команди за бат файл. Как да създадете bat файл? Основни команди. Писане на bat файлове - примери за пакетни файлове

Когато работите на компютър, често е необходимо да се повтарят едни и същи DOS команди, за да се извършват периодично изпълнявани действия, да се изгради сложна и многостепенна последователност от изпълними команди или приложения, да се автоматизира работата с приложения и файлове със или без потребител. Операционната система има възможност да напише няколко команди в bat файл. В същото време, просто като стартирате този пакетен файл (често наричан скрипт или просто "партиден файл"), можете да изпълните предписаните команди и като го запишете в събитията на планировчика на Windows, можете да автоматизирате този процес.

Особеността на файловете от този тип е липсата на никакъв код вътре - има само информация за часовника, която се чете и изпълнява от командния DOS процесор, който е съвместим с почти всички версии на операционната система Windows. Един от поразителните примери е файлът autoexec.bat, който е необходим за стартиране на тази ОС, тъй като именно той го конфигурира по време на стартиране.

Основни характеристики на пакетните файлове

Командите, които съдържа bat-файлът, могат условно да бъдат разделени на няколко групи според тяхната функционалност:

Проектиран за показване на конкретна стойност, фраза, приложение или информация на екрана;
- да реализира пускането на пакетни документи;
- за работа с цикли;
- за създаване на разклонено изпълнение с помощта на условия;
- за работа с приложения.

Изпълнение на пакетни файлове

Пакетните файлове могат да се изпълняват по различни начини. Когато работите в текущата директория, можете просто да въведете имена на файлове със или без допълнителни параметри. В този случай командите на bat-файловете след стартиране ще се изпълняват последователно една след друга, вече без намеса на потребителя.

Когато партиден файл бъде намерен в друга директория, трябва да посочите пълния път до директорията, където се съхранява в допълнение към пълното име на този файл. Разширението на файла също може да бъде пропуснато. Например, текущата директория е d: \ photo \ work, а пакетният файл vera.bat, който трябва да се изпълни с параметрите resize.doc и / p, се намира в d: \ photo \ домашната директория. След това, за да стартирате нашия файл, трябва да напишете командата d: \ photo \ home \ vera resize.doc / p или командата .. \ home \ vera resize.doc / p.

Прекъсване на работата

Командите на bat-файла, изпълнени след стартиране, могат да бъдат прекъснати от комбинациите от бутони +и +... Дисплеят ще ви подкани да прекъснете изпълнението на пакетния файл с чакаща подкана Да или Не. Ако въведете Y, изпълнението ще бъде прекъснато, а оставащият списък с команди в bat-файла ще бъде игнориран. Ако въведете символа N, тогава изпълнението ще продължи със следващата команда от списъка.

Извикване на друг пакетен файл

Бат файловете могат да съдържат връзки към изпълнението на други скриптове. Ако просто напишете bat файл в тялото на скрипта, командите след него няма да бъдат изпълнени, тъй като контролът се прехвърля към друг пакетен файл и командите ще се изпълняват от него. Ако искате да се върнете след стартиране на вътрешен файл, можете да го извикате с командата CALL. Форматът на командата изглежда така: CALL batfilename [параметри за стартиране].

Параметрите, предавани на извикания(ите) пакетен(и) файл(ове), обикновено са символите% 1 -% 9. Когато всички команди на bat-файловете се предават последователно, изпълнението на оригиналния скрипт ще продължи от следващия ред.

Стъпка по стъпка изпълнение

Има моменти, когато командите на bat файлове трябва да се изпълняват стъпка по стъпка (със спиране след всеки ред). Най-често този режим се изисква при отстраняване на грешки или тестване на скриптове. Командата е написана така: COMMAND / y / c _скрипт име [параметри].

Когато се изпълни, за всяка команда ще бъде издадена заявка Y или N. Ако трябва да изпълните команда, натиснете клавиша Enter или Y. Ако трябва да пропуснете команда, натиснете ESC или N.

Деактивирайте или активирайте показването на команди на екрана

Когато bat файлът се стартира, командите се показват на екрана ред по ред, преди да бъдат изпълнени и след това изпълнени. Понякога това причинява неудобство, тъй като при голям пакетен файл командите се изпълняват в дълъг списък пред потребителя на екрана и понякога трябва да бъдат показани, например, за диалог или отстраняване на грешки. За да покажете командния bat файл, използвайте командата ECHO ON. За да деактивирате този режим, въведете ECHO с параметъра OFF. В този случай всички команди, изпълнени по-нататък, вече няма да се показват на екрана.

За да деактивирате извеждането само на един ред от пакетния файл на екрана, можете да използвате символа @ в самото начало на този ред. Най-често този символ може да се намери във връзка с командата @ECHO OFF, за да се предотврати показването му на дисплея на монитора. Този режим често се използва от киберпрестъпници, създавайки вируси на базата на bat файлове или доставяйки малки и големи проблеми на компютърните потребители.

Съобщения за изпълнение на команди

Ако след командата ECHO има знаци, различни от ON или OFF, те ще бъдат показани във всеки режим. Ако ECHO е без параметри, то показва състоянието на режима на показване на изпълними команди - включено или изключено.

Ако желаете, можете дори да играете (скърцате) на компютъра с помощта на bat-файл. Показаните по-долу команди са базирани на оператора ECHO с добавяне на специални символи.

За да възпроизведете звуков сигнал, трябва да изведете стандартния символ с код 7. Това може да стане чрез натискане на клавиша и "7" на цифровата клавиатура (обозначена за начало).

За да подобрите четимостта на съобщенията, можете да използвате командата ECHO с параметъра "." (поставя се веднага след командата без интервал) или специален символ с код 255. На екрана ще изглежда като празен ред.

Командата ECHO може да се използва за извеждане на съобщения в отделен файл. Същността му се състои в пренасочване на изхода на съобщения за запис към файл, а не към екрана на монитора. Можете да използвате bat за запазване на дневници, въпросници и запис на събития. Изходните команди имат следния формат:

ECHO съобщение >> име на файл - тази команда добавя ред в края на съществуващ файл. Ако в тази директория няма такъв файл, тогава се създава нов файл.

ECHO съобщение> име на файл - тази команда създава нов файл и записва текущия ред в него. Ако има такъв файл в текущата директория, съдържанието му ще бъде изтрито и командата или резултатът от нея ще бъдат записани.

Използване на коментари

За удобство при редактиране на скриптове се използва командата REM. Всички команди на bat-файлове, които са след него, се игнорират от Windows по време на изпълнение. Те могат да се видят по време на редактиране и в режим стъпка по стъпка. Във всички останали случаи коментарите няма да се показват на екрана.

Команда за забавяне в bat файл

Понякога по време на изпълнението на пакетен файл става необходимо временно да се спре изпълнението на команди, например да се изчака реакцията на потребителя, да се увеличи времето за четене на дълго съобщение, да се постави диск, да се потвърди наличието на потребител, или за отстраняване на грешки в пакетен файл. Командата за забавяне в bat файла се записва като PAUSE без параметри. В този случай на дисплея ще се покаже съобщение като „Натиснете произволен клавиш, за да продължите“ и скриптът ще бъде на пауза, докато не бъде натиснат бутонът на клавиатурата. Ако комбинацията е натисната +или +, тогава системата ще интерпретира това като завършване на изпълнимия файл и ще издаде заявка за потвърждение на завършването на работата си: „Прекъсване на изпълнението на пакетния файл? (Да / Не)". Ако натиснете клавиша Y, скриптът ще бъде прекъснат в този момент и всички останали неизпълнени команди ще бъдат игнорирани. Натискането на N ще продължи изпълнението със следващата команда. При пауза, натискане на други буквено-цифрови клавиши, както и "Интервал" и "Enter", изпълнението на изпълнимия файл ще продължи със следващата команда.

списък с файлове

За последователно изпълнение на няколко файла от списъка, намиращ се в една и съща директория, можете да използвате и bat-файл. Командите "изпълни програма по име" и "изпълни програма по разширение на файл" често могат да помогнат за автоматизиране на обработката на документи, като сортиране на прикачени файлове в поща. Те се различават по параметри за командата FOR. Форматът за написването му е показан по-долу:

FOR% x IN (списък с файлове) команда DO, където:

X - всеки знак, с изключение на числа от 0 до 9;

Списък - имена на файлове, разделени с интервал или името на един файл; в този случай можете да използвате специалните символи "?" и "*" за замяна от един до няколко знака в името на файла;

Команда - всяка DOS команда или програма, различна от FOR; ако има нужда да използвате FOR, тогава вместо% x трябва да посочите %% x.

Когато използвате тази команда за писане на bat файлове, трябва да вземете предвид, че имената в DOS програмите имат ограничение по дължината на името. За да превключите командата FOR да работи с дълги имена на файлове, трябва да запомните да стартирате командата LFNFOR ON преди нея, за да активирате режима на работа с дълги имена и LFNFOR OFF, за да я деактивирате и да се върнете към стандартната дължина на файла.

Много функции с програми, като например сравняване на файлове с определени типове разширения в една директория с файлове от същия тип от друга директория, копиране на всички файлове от текущата директория в друга, последователно изпълнение на файлове с разширения от определен тип и стартиране на имена с числа, може да се направи само с една команда, въведена в bat-файла. Стартирането на програмата може да се комбинира с потребителски заявки, което подобрява удобството при работа с данни.

Преходи в bat файлове

За удобство при контролиране на реда, в който командите се изпълняват в bat файлове, те често използват команди за прескачане и етикети, по които се извършват тези скокове.
Етикетът е всеки ред в изпълним файл, който започва с двоеточие. Името на етикета е наборът от знаци след двоеточие до края на реда или до първия интервал, след което останалата част от реда се игнорира, което може да се използва като коментар към етикета за прескачане.

Командата за прескачане се изписва GOTO с името на етикета, разделено с интервал. Ако няма параметър или името на етикета в командния файл не е намерено, тогава скриптът спира да работи върху тази команда. пример:

REM (задължителните команди се изпълняват).

В този пример последователното изпълнение на пакетния файл, достигайки GOTO zzz, преминава към етикет: zzz и продължава с REM, игнорирайки всичко между командата за прескачане и посочения етикет.

Условия за използване при работа с bat файлове

Един bat файл може или не може да изпълнява команди, в зависимост от различни условия, ако в него се приложи проверка за възникване на IF събитие. Форматът на тази команда е „команда за условие IF“.

Условието е представено от различни варианти на изрази:

ERRORLEVEL номер - в случай, че по-рано изпълнената програма завърши с код за излизане, равен или по-голям от определената числова стойност, условието ще бъде вярно.

LINE 1 == LINE 2 - при пълно съвпадение на редовете условието става вярно. Вместо низове, можете да замените символите% 0 -% 9, след което параметрите на командния файл ще бъдат сравнени.

EXIST - име на файл - ако посоченият файл съществува, тогава условието е вярно.

NOT - условие - ако посоченото условие е false, тогава изходът на командата ще получи истинска стойност.

Приложени команди в bat файлове

Ако щракнете върху бутона "Старт" и стартирате командния ред (cmd), тогава можете да видите всичко, вмъкнато в bat-файла, можете да го използвате като инструмент за отстраняване на грешки, като помощник, програма за получаване на информация за команди . За да направите това, можете просто да въведете HELP. В този случай се издава списък с команди с кратко описание към тях. За по-подробна информация можете да въведете HELP с името на необходимата команда.

Използване на bat файлове при архивиране на данни

Пакетните файлове правят живота много по-лесен на системните администратори в ежедневната им работа. Най-честите употреби за тях са създаване, изтриване, преименуване и др. Всичко това се основава на използването на командата COPY bat-file. Например, можете да създадете програма, която прави архивни копия на документи от избрана папка с потребителски данни в определени формати, с изключение например на големи мултимедийни файлове, предоставяйки резервно копие в папка с името на потребителя и го наричайки „File_copy_Command. прилеп". След това е необходимо да се осигури стартирането му в определено време с помощта на вградения планировчик или от самата програма и по този начин да се гарантира безопасността на потребителските данни.

Файловете на Windows Bat са удобен начин за изпълнение на различни задачи на компютър, който се използва активно от компютърните майстори. Те ви позволяват да автоматизирате ежедневните задачи, да намалите времето за тяхното изпълнение и да превърнете сложен процес в нещо, осъществимо за обикновен потребител. Тази статия представя основните характеристики на пакетните файлове и препоръки за самостоятелното им писане.

Автоматизацията е лесна

Как да създадете bat файл? За да направите това, изпълнете следните стъпки:

  1. Във всеки текстов редактор, например Notepad или WordPad, създайте текстов документ.
  2. Напишете вашите команди в него, като започнете с @echo и след това (всеки път на нов ред) - title [име на пакетния скрипт], echo [съобщение, което ще бъде показано] и пауза.
  3. Запазете текст в електронен документ с разширение .bat (например test.bat).
  4. За да стартирате, щракнете двукратно върху пакетния файл, който току-що създадохте.
  5. За да го редактирате, трябва да щракнете с десния бутон върху него и да изберете елемента "Промяна" от контекстното меню.

Суровият файл ще изглежда така:

title Това е първият ви скрипт за bat файл!

echo Добре дошли в пакетния скрипт!

Повече подробности за командите на bat-файловете и тяхното използване ще бъдат разгледани по-долу.

Стъпка 1: създаване на програмен скрипт

Да предположим, че потребителят често има проблеми с мрежата. Той използва командния ред през цялото време, като въвежда ipconfig и ping на Google, за да отстрани неизправности в мрежата. След известно време потребителят осъзнава, че би било много по-ефективно, ако напише обикновен bat файл, запише го на своето USB устройство и го стартира на компютрите, които диагностицира.

Създаване на нов текстов документ

Пакетният файл улеснява извършването на повтарящи се задачи на вашия компютър с помощта на командния ред на Windows. По-долу е даден пример за скрипт, отговорен за показването на текст на екрана. Преди да създадете bat-файл, щракнете с десния бутон върху празно място в директорията и изберете "Нов" и след това "Текстов документ".

Добавяне на код

Щракването двукратно върху този нов текстов документ ще отвори текстовия редактор по подразбиране. Можете да копирате и поставите горния пример за код в текстов запис.

Запазване

Горният скрипт показва текста "Добре дошли в пакетния скрипт!" Електронен документ трябва да бъде написан, като изберете елемент от менюто на текстовия редактор „Файл“, „Запиши като“ и след това посочите желаното име за bat-файла. Трябва да се попълни с разширението .bat (например welcome.bat) и да кликнете върху "OK". За правилното показване на кирилицата в някои случаи трябва да се уверите, че е избрано правилното кодиране. Например, когато използвате конзолата на русифицираната система Windows NT, документът трябва да бъде записан в CP866. Сега трябва да щракнете двукратно върху прекия път към bat файла, за да го активирате.

Но на екрана ще се покаже:

„Добре дошли в пакетния скрипт! Натиснете произволен клавиш, за да продължите...“

Ако bat файлът не се стартира, потребителите препоръчват да влязат в регистъра и да изтрият ключа:

"HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .BAT \ UserChoice".

Не мислете, че това е всичко, на което пакетните скриптове са способни. Параметрите на скрипта са модифицирани версии на командите от командния ред, така че потребителят е ограничен само от своите възможности. И те са доста обширни.

Стъпка 2: запознаване с някои от командите

Ако потребител на компютър е запознат с това как да изпълнява команди на DOS конзола, тогава той ще бъде съветник за създаване на програмни скриптове, тъй като те са един и същ език. Редовете в bat файловете ще кажат на интерпретатора cmd.exe всичко, което се изисква от него. Това спестява време и усилия. Освен това е възможно да се дефинира някаква логика (например прости цикли, условни условия и т.н., които са концептуално подобни на процедурното програмиране).

Вградени команди

1. @echo е команда за bat-файл, която ще ви позволи да видите как скриптът работи в командния ред. Използва се за преглед на напредъка на изпълнявания код. Ако партидният файл има някакви проблеми, тогава тази команда бързо ще изолира проблемите. Добавянето прави възможно бързото прекратяване на изпълнението на кода, като се избягва показването на ненужна информация на екрана.

2. Title предоставя същите възможности като етикета в HTML, тоест създава заглавка за пакетен скрипт в прозорец на командния ред.</p><p>3. Извикване на един bat-файл от друг или подпрограма в рамките на един скрипт. Например, функцията за мощност изчислява мощността% 2 от% 1:</p><p>if% counter% gtr 1 (</p><p>набор / брояч- = 1</p><p>endlocal & set result =% prod%</p><p><img src='https://i0.wp.com/syl.ru/misc/i/ai/324915/1862019.jpg' width="100%" loading=lazy loading=lazy></p><p>4. Cls изчиства командния ред. Използва се за предотвратяване на пречи на предишния изход на външен код при гледането на напредъка на текущия скрипт.</p><p>5. Цвят задава цвета на шрифта и фона. Например цветът на командата f9 задава бели букви на син фон. Команда без параметър възстановява настройките по подразбиране.</p><p>6. Echo се използва за извеждане на информация, както и за активиране (ехо включено) или деактивиране (ехо изключено) на такъв изход. Например командата ехо. отпечатва нов ред без точка, докато echo. - точка. Без параметри, командата показва информация за текущото си състояние - ехо включено или ехо изключено.</p><p>7. Rem предоставя същата функционалност като етикета<! в HTML. Такая строка не является частью выполняемого кода. Вместо этого она служит для пояснения и предоставления информации о нем.</p><p>8. Пауза ви позволява да прекъснете изпълнението на команди на bat-файл. Това прави възможно четенето на изпълнените редове преди да продължи програмата. В този случай на екрана се показва съобщението "За да продължите, натиснете произволен клавиш ...".</p><p>9. Set ви позволява да преглеждате или задавате променливи на средата. С превключвателя / p командата подканва потребителя за въвеждане и го запазва. С параметъра / a ви позволява да извършвате прости аритметични операции, като също така присвоявате техния резултат на променлива. Когато работите с низове, не трябва да има интервали преди или след знака за равенство. Например set показва списък с променливи на средата, set HOME показва стойностите на аргументите, започващи с „HOME“, а set / p input = въведете цяло число: подканва за цяло число и го присвоява на съответната променлива.</p><p>10. Стартирайте "" [уебсайт] ще стартира посочения уебсайт в уеб браузъра по подразбиране.</p><p>11. Ако служи за проверка на конкретно състояние. Ако е вярно, тогава се изпълнява следната команда. Има 3 вида условия:</p><ul><li>ERRORLEVEL number - проверете кода за завършване на последната изпълнена инструкция за съответствие или надвишаване на посочения номер. В този случай 0 показва успешното изпълнение на задачата, а всяко друго число, обикновено положително, показва грешка. Например, можете да използвате вложени команди, за да определите точно кода за изход: ако ниво на грешка 3 ако не ниво на грешка 4 е възникнала ехо грешка # 3.</li><li>String1 == string2 - проверете дали два низа съвпадат. Например, ако няма външен параметър, командата if "% 1" = = "" goto ERROR ще прехвърли управлението към етикета ERROR.</li><li>СЪЩЕСТВУВАЩО име - проверка за съществуването на файл с посоченото име. Например, ако не съществува A: \ program.exe COPY C: \ PROJECTS \ program.exe A: копира program.exe на устройство A, ако не е там.</li> </ul><p>12. Else трябва да е на същия ред с командата If. Показва, че следващото изявление трябва да бъде изпълнено, ако изразът се оцени като false.</p><p><img src='https://i0.wp.com/syl.ru/misc/i/ai/324915/1862021.jpg' width="100%" loading=lazy loading=lazy></p><p>13. For се използва за повтаряне на определени действия с всеки член от списъка. Той има формата за аргумент %% в командата (списък) do. Аргументът може да бъде всяка буква от А до Я. Списъкът е поредица от низове, разделени с интервали или запетаи. Могат да се използват и заместващи знаци. Например:</p><ul><li>за %% d в (A, C, D) do DIR %% d - последователно показва директориите на устройствата A, C и D;</li><li>за %% f в (* .TXT * .BAT * .DOC) направете TYPE %% f - отпечатва съдържанието на всички .txt-, .bat- и.doc-файлове в текущата директория;</li><li>за %% P в (% PATH%) направи, ако съществува %% P \ *. BAT COPY %% P \ *. BAT C: \ BAT - копира всички пакетни файлове, които съществуват във всички директории на маршрута за търсене в папка C : \ BAT.</li> </ul><p>14. Двоеточие (:) преди дума образува връзка от нея, което ви позволява да пропуснете част от програмния код или да се върнете назад. Използва се с командите Call и Goto, указващи къде да продължи изпълнението на bat-файла, например, когато е изпълнено определено условие:</p><p>15. Променливи:</p><ul><li>%% a означава всеки файл в папката;</li><li>% CD% - текущата директория;</li><li>% DATE% - системна дата, чийто формат зависи от локализацията;</li><li>% TIME% - системно време под формата на HH: MM: SS.mm;</li><li>% RANDOM% - генерирано псевдослучайно число в диапазона от 0 до 32767;</li><li>% ERRORLEVEL% е изходният код, върнат от последната изпълнена команда или bat скрипт.</li> </ul><p>Можете да извлечете частта от низ, която се съдържа в променлива, като се има предвид нейната позиция и дължина, както следва:</p><p>% [променлива]: ~ [начало], [дължина]%. Например, можете да покажете датата във формат ДД / ММ / ГГГГ като ГГГГ-ММ-ДД, както следва: echo% ДАТА: ~ 6,4% -% ДАТА: ~ 3,2% -% ДАТА: ~ 0,2%.</p><p>16. (". \") - основна папка. Когато работите с конзолата, преди да промените името на файла, да го изтриете и т.н., трябва да насочите командното действие към конкретна директория. Когато използвате пакетен файл, просто го стартирайте във всяка директория, която искате.</p><p>17.% цифра - приема стойностите на параметрите, предадени от потребителя на bat-файла. Може да се разделя с интервали, запетаи или двоеточия. “Цифра” е число между 0 и 9. Например, % 0 приема стойността на текущата команда. % 1 съвпада с първия параметър и т.н.</p><p>18. Shift - командата, използвана за изместване на входните параметри с една позиция. Прилага се, когато към пакетния файл се предават външни аргументи. Например, следният bat файл копира файловете, посочени като параметри в командния ред, на D устройството:</p><p>ако не (% 1) == () отидете на следващия</p><p>Освен това с аргументите могат да се извършат следните манипулации:</p><ul><li>% ~ - премахване на околните кавички;</li><li>% ~ f - разширете параметъра до пълното име на пътя заедно с името на устройството;</li><li>% ~ d - показва името на диска;</li><li>% ~ p - показва само пътя;</li><li>% ~ n - изберете само името на файла от параметъра;</li><li>% ~ x - запазване само на разширението;</li><li>% ~ s - преобразуване на пътя в представяне на кратко име;</li><li>% ~ a - извличане на атрибути на файла;</li><li>% ~ t - показва датата и часа на създаване;</li><li>% ~ z - показва размера на файла;</li><li>% ~ $ PATH: - Търси директориите, изброени в променливата на средата PATH и разширява параметъра до първото намерено пълно име или връща празен низ при неуспех.</li> </ul><p><img src='https://i1.wp.com/syl.ru/misc/i/ai/324915/1862020.jpg' width="100%" loading=lazy loading=lazy></p><h2>Заместващи символи</h2><p>Много команди приемат шаблони за имена на файлове — знаци, които съответстват на група имена на файлове. Заместващите знаци включват:</p><ul><li>* (звездичка) - обозначава всяка последователност от знаци;</li><li>? (въпросителен знак) - замества един (или 0) знак, различен от точка (.).</li> </ul><p>Например, командата dir * .txt показва списък с txt файлове, а dir ???. Txt - списък с текстови документи, чието име не надвишава 3 букви.</p><h2>Функции</h2><p>Подобно на подпрограмите, те се емулират с call, setlocal, endlocal и етикети. Следният пример демонстрира способността да се дефинира променлива, в която резултатът се съхранява в реда за повикване:</p><p>обаждане: кажи резултат = свят</p><p><img src='https://i0.wp.com/syl.ru/misc/i/ai/324915/1862022.jpg' width="100%" loading=lazy loading=lazy></p><h2>Изчисления</h2><p>В bat файловете можете да извършвате прости аритметични операции с 32-битови цели числа и битове, като използвате командата set / a. Максималното поддържано число е 2 ^ 31 - 1 = 2147483647, а минималното е - (2 ^ 31) = -2147483648. Синтаксисът е подобен на езика за програмиране C. Аритметичните оператори включват: *, /,%, +, -. В bat-файл% (остатък от целочисленото деление) трябва да се въведе като „%%“.</p><p>Двоичните оператори интерпретират числото като 32-битова последователност. Те включват: ~ (побитово НЕ или допълнение), & (И), | (ИЛИ), ^ (изключително ИЛИ),<< (сдвиг влево), >> (изместване надясно). Операторът за логическо отрицание е! (Удивителен знак). Променя 0 на 1 и ненулева стойност на 0. Операторът на комбинацията е (запетая), който позволява извършването на повече операции с една команда за набор. Комбинираните оператори за присвояване + = и - = в изразите a + = b и a- = и съответстват на изразите a = a + b и a = a-b. * =,% =, / =, & =, | =, ^ =, >> =,<<=. Приоритет операторов следующий:</p><p>(); %+-*/; >>, <<; &; ^; |; =, %=, *=, /=, +=, -=, &=, ^=, |=, <<=, >>=; ,</p><p>Литералите могат да бъдат въведени като десетични, шестнадесетични (с водеща 0x) и осмична (с водеща нула). Например, set / a n1 = 0xffff присвоява на n1 шестнадесетична стойност.</p><h2>Външни команди</h2><ul><li>Изход се използва за излизане от DOS конзолата или (с опцията / b) само от текущия bat-файл или подпрограма.</li><li>Ipconfig е класическа конзолна команда, която показва мрежова информация. Той включва MAC и IP адреси и подмрежови маски.</li><li>Ping пингува IP адрес, като изпраща пакети с данни към него, за да оцени разстоянието и латентността му (отговор). Използва се и за задаване на пауза. Например, ping 127.0.01 -n 6 спира изпълнението на кода за 5 секунди.</li> </ul><p>Командната библиотека на прилепите е огромна. За щастие в мрежата има много страници, които изброяват всички тях, заедно с променливи на пакетен скрипт.</p><p><img src='https://i0.wp.com/syl.ru/misc/i/ai/324915/1862017.jpg' width="100%" loading=lazy loading=lazy></p><h2>Стъпка 3: писане и стартиране на bat файла</h2><p>Следващият скрипт значително ще опрости ежедневната ви онлайн дейност. Ами ако искате незабавно да отворите всичките си любими новинарски сайтове? Тъй като скриптовете използват конзолни команди, можете да създадете скрипт, който отваря всяка новинарска емисия в един прозорец на браузъра.</p><p>След това трябва да повторите процеса на създаване на bat-файл, като започнете с празен текстов документ. За да направите това, щракнете с десния бутон върху празно място в папка и изберете "Нов", а след това - "Текстов документ". След като отворите файла, трябва да въведете следния скрипт, който стартира основната рускоезична медия, достъпна в Интернет:</p><p>стартирайте "" http://fb.ru</p><p>стартирайте "" http://www.novayagazeta.ru</p><p>стартирайте "" http://echo.msk.ru</p><p>стартирайте "" http://www.kommersant.ru</p><p>стартирайте "" http://www.ng.ru</p><p>стартирайте "" http://meduza.io</p><p>стартирайте "" https://news.google.com/news/?ned=ru_ru&hl=ru</p><p>Този скрипт съдържа стартови команди, които отварят множество раздели. Можете да замените предложените връзки с други по ваш избор. След като влезете в скрипта, отидете в менюто на редактора "Файл" и след това в "Запазване като ..." и напишете документ с разширение .bat, като промените параметъра "Тип на файла" на "Всички файлове" (*. *). ).</p><p>След като запазите, за да стартирате скрипта, просто щракнете двукратно върху него. Уеб страниците ще започнат да се зареждат незабавно. По желание можете да поставите този файл на вашия работен плот. Това ще ви даде незабавен достъп до всички ваши любими сайтове.</p><h2>Органайзер</h2><p>Ако качвате няколко файла на ден, скоро стотици от тях ще се натрупат в папката Downloads. Можете да създадете скрипт, който ще ги сортира по тип. Достатъчно е да поставите .bat файла с програмата в папка с неорганизирани данни и да щракнете двукратно, за да стартирате:</p><p>rem Всеки файл в папката</p><p>за %% a в (". \ *") do (</p><p>rem проверява за разширение и не принадлежи към дадения скрипт</p><p>if "%% ~ xa" NEQ "" if "%% ~ dpxa" NEQ "% ~ dpx0" (</p><p>rem проверете за съществуването на папка за всяко разширение и ако не съществува, създайте</p><p>ако не съществува "%% ~ xa" mkdir "%% ~ xa"</p><p>rem преместване на файл в папка</p><p>премести "%% a" "%% ~ dpa %% ~ xa \"</p><p>В резултат на това файловете в директорията "Изтегляния" се сортират в папки, чиито имена съответстват на тяхното разширение. Толкова е просто. Този пакетен скрипт работи с всякакъв тип данни, било то документ, видео или аудио. Дори ако компютърът не ги поддържа, скриптът ще създаде папка със съответния етикет. Ако вече има JPG или PNG директория, програмата просто ще премести файловете с това разширение там.</p><p>Това е проста демонстрация на какво са способни пакетните скриптове. Независимо дали става дума за организиране на файлове, отваряне на множество уеб страници, групово преименуване или правене на копия на важни документи за проста задача, пакетният скрипт може да ви помогне да свършите досадната работа с няколко щраквания.</p> <p>Сега е време да помислим <b>команди на прилеп</b>... По принцип тук се използват командите, въведени в cmd, но има някои, които няма смисъл да се използват в командния ред.</p><h2>Как да получите пълен списък с команди на bat</h2><p>За да опишете всички команди, ще трябва да напишете няколко статии, за да не ви претоварвате, ще се ограничим до една статия и ще разгледаме компактната информация. Както знаете, командите bat файл и cmd са едни и същи, за да получите списък с тях или. Въведете командата help, която на английски се изписва като help, натиснете Enter. В резултат на това компютърът ще напише всички команди с кратко описание в cmd интерфейса.</p><p>След като прегледате този списък, ще искате да знаете по-подробно какво представлява конкретната команда за прилеп. Например, нека изберем командата for, за да я опишем, въведете помощ за или за /? и щракнете върху enter. В резултат на това ще получите онлайн помощ за командата, тя е обемна, така че ще трябва да натиснете произволен клавиш няколко пъти, за да прочетете следното описание. По този начин можете да изучавате синтаксиса на определена команда.</p><h2>Команди на Bat файл</h2><p>Сега нека се запознаем с командите, използвани в пакетния файл, с кратко описание. Те не са чувствителни към главни букви, но сме ги изброили с главни букви, за да помогнем при идентифицирането.</p><table><tbody><tr><td width="319">@ </td><td width="319">Всички изпълнени команди на прилеп се показват на екрана, за премахване на ненужни неща се поставя "куче" преди командата. Често се използва с изключен @echo.</td> </tr><tr><td width="319">комплект</td><td width="319">Задава променливи. Например setper = c: \ windows тук задаваме по път. Можете да напишете обемна стойност към променлива и да я посочите в скрипт, което ще направи кода по-компактен. Ако съдържанието му се промени, тогава няма нужда да променяте стойностите, където е предоставена тази променлива.</td> </tr><tr><td width="319">:: </td><td width="319">Един от двата метода за коментиране в bat файл без показване на този ред на екрана.</td> </tr><tr><td width="319">: ЕТИКЕТ</td><td width="319">Когато добавяте двоеточие към дума, се създава етикет, който ви позволява да отидете в различни секции на пакетния файл. Етикетът може да има различно име, LABEL е пример.</td> </tr><tr><td width="319">ПОВИКВАНЕ</td><td width="319">Bat команда, извикваща един пакетен файл в друг. Всички параметри, описани в един от файловете, могат да се прехвърлят един към друг.</td> </tr><tr><td width="319">ИЗБОР</td><td width="319">Команда за избор.</td> </tr><tr><td width="319">CLS</td><td width="319">Изчиства съдържанието на обвивката, както е показано над CLS.</td> </tr><tr><td width="319">ECHO</td><td width="319">Показва съобщение на екрана. Например "ECHO Здравейте!" ще покаже "Здравей!" Ако не използвате @ECHO off в началото на пакетния файл, тогава ще видите пътя до bat файла и две съобщения, което е излишно. Можете да създадете празен низ, като напишете ECHO. с точка в края.</td> </tr><tr><td width="319">ИЗХОД</td><td width="319">Завършва текущия пакетен скрипт.</td> </tr><tr><td width="319">ОТИДЕТЕ ЕТИКЕТА</td><td width="319">Използва се за придвижване до конкретен етикет, в този случай LABEL, и изпълнение на скрипта след него.</td> </tr><tr><td width="319">АКО</td><td width="319">Както в езиците за програмиране на bat, командата if представлява изпълнението на условие, в зависимост от което скриптът ще следва един или друг път. Вижте помощта за синтаксиса.</td> </tr><tr><td width="319">за</td><td width="319">Цикъл, използван за организиране на изпълнението на същите действия.</td> </tr><tr><td width="319">ПАУЗА</td><td width="319">Ако трябва да видите резултата от скрипта, но той се изпълнява и прозорецът бързо се затваря, използвайте PAUSE. Това ще ви позволи да видите резултата и да завършите скрипта, като натиснете произволен бутон.</td> </tr><tr><td width="319">REM</td><td width="319">Вторият начин за коментар. За разлика от :: се отпечатва на екрана, ако няма конструкция @ECHO off.</td> </tr><tr><td width="319">SHIFT</td><td width="319">Променя позицията на параметрите на партидата в bat файла.</td> </tr><tr><td width="319">СТАРТ</td><td width="319">Стартира програми, прозорци и др. Има много атрибути (вижте помощта).</td> </tr></tbody></table><p>Това е основата на командите на бухалката. Синтаксисът на някои елементи е труден за начинаещи и изисква известни познания. Всичко <i>команди за bat файл</i>описаните по-горе са прегледани повърхностно, за да се разбере тяхното предназначение, а пълният синтаксис може да бъде намерен в Windows Help.</p> <p><b>Всеки може да пише bat файлове!</b></p><p><b>Команден процесор</b></p><p>Много операционни системи, включително тези, разработени от Microsoft, включват команден процесор. Това е името на програма, която инициира изпълнението на всякакви действия в отговор на команди, въведени от потребителя от клавиатурата. По принцип тези действия се състоят в стартиране на необходимите програми с определени параметри. Но не само; по-късно ще видим, че някои команди се изпълняват директно от обвивката. По принцип това са командите, които служат за контрол на контекста и последователността на изпълнение на командите. Въпреки това, няма да се замисляме твърде задълбочено върху естеството на командите, поне не ненужно. По-важното е, че всяка програма, която е технически възможна да се стартира от командния ред, се третира като команда от обвивката. Той не прави разлика между "родните" команди, първоначално вградени в операционната система и програмите, които са инсталирани върху нея.</p><p>За да стартирате командния процесор:</p><ol><p>Кликнете върху бутона <b>Започнете</b>... Ще се покаже главното меню.</p><p>Изберете Run от главното меню. Ще се покаже диалогов прозорец <b>Стартиране на програмата</b>.</p><p>В полето Отворете въведете низа <b>cmd</b>.</p><p>Кликнете върху бутона <b>Добре</b>... Ще се покаже прозорец на обвивката.</p> </ol><p><b>Команден ред и команди</b></p><p>Прозорецът на черупката изглежда мрачен в оригиналния си вид и не е много удобно за повечето хора да работят с него. Много по-лесно е да използвате файлови мениджъри в стил Norton Commander. Те осигуряват както средство за бърза навигация във файловата система, така и времево ограничение за въвеждане на команди.</p><p>За да въведете командата:</p><ol><p>Въведете командния текст в командния ред.</p><p>Натиснете клавиша <b>Въведете</b>.</p> </ol><p>Командите на процесора и операционната система са описани в документацията на операционната система. Тази документация отчасти се съдържа в самата операционна система. За достъп до него използвайте командата <b>помогне</b>... Тази команда показва списък с наличните команди на екрана. За да получите описание на конкретна команда, като параметър, командата <b>помогне</b>името й трябва да бъде посочено. Командният ред, показан в следващия списък, показва описанието на командата <b>за</b>.</p><p>Ако сте се опитали да въведете командата <b>помогне</b>, вероятно сте забелязали, че резултатът от нейната работа (т.нар. издаване) не се побира на един екран. Същият проблем възниква и с текста на описанието на командата <b>за</b>... Добрата новина е, че изходът може да бъде пренасочен към файл. Командният ред, показан в следващия списък, генерира файла <b>commands.txt</b>съдържащ списък с всички MS-DOS команди.</p><p>помощ> commands.txt</p><p>За да генерирате файл с описание на командата <b>за</b>, трябва да дадете такава команда (можете да направите името на изходния файл каквото искате).</p><p>помощ за> for.txt</p><p>В съвременните операционни системи на корпорацията Microsoft има малко по-малко от 80 команди и е невъзможно да ги опиша в една статия. Тук можем да споменем само няколко команди, полезни за автоматизиране на обработката на файлове и да покажем как да ги използваме. Тези команди ще бъдат използвани по-нататък в примерите. Винаги можете да уточните подробностите чрез команда <b>помогне</b>или в справката.</p><p><b>копие</b>- копиране на един или повече файлове;</p><p><b>дел</b>- изтриване на един или повече файлове;</p><p><b>ход</b>- преместване на един или повече файлове или директории;</p><p><b>преименувайте</b>(съкратено <b>ren</b>) - преименувайте един или повече файлове или директории;</p><p><b>xcopy</b>- копиране на дърво от поддиректории;</p><p><b>mkdir</b>(съкратено <b>md</b>) - създаване на директория;</p><p><b>rmdir</b>(съкратено <b>rd</b>) - изтриване на директория.</p><p>Едно от общите правила на командния синтаксис на MS-DOS е, че когато задавате параметри, първо посочвате източника и след това резултата. Например, ако искаме да преместим файла <b>beer.txt</b>от каталог <b>кутия</b>да каталогизирам <b>маса</b>, трябва да въведете командата, показана в следния списък.</p><p>преместете кутията \ таблицата beer.txt</p><p>Първо какво да преместим, после къде да се преместим.</p><p>Ако искаме да преименуваме файла <b>lena.txt</b>да подадете <b>natasha.txt</b>, тогава командата трябва да бъде написана, както е показано по-долу.</p><p>ren lena.txt natasha.txt</p><p>Първо какво да преименуваме, после какво да преименуваме.</p><p><b>Текуща директория. Абсолютни и относителни пътища</b></p><p>Когато работите с файлови команди, концепцията за текущата директория става изключително важна. Факт е, че когато указваме файл като команден параметър, ние винаги използваме един от двата възможни начина да ги посочим: или абсолютен път, или относителен път. В пълния път посочваме всичко, като се започне от диска (или името на мрежата на компютъра), например <b>d: \ misha \ box \ beer.txt</b>... Която и директория да е актуална към момента на въвеждане на командата, пълният път ще съответства на същия файл. За относителен път текущата директория е началната точка. Най-простият случай за относителен път е име на файл. В контекста на изпълнението на командата това означава файл с това име, разположен в текущата директория.</p><p>Има условен запис за запис на относителния път към текущата директория <b>. </b>(точка). За да запишете относителния път към директорията, която съдържа текущата директория, има условен запис <b>.. </b>(две точки). Командата, показана в следния списък, копира всички файлове от текущата директория в директорията <b>съсед</b>намиращ се до него.</p><p>копие *. *. \ съсед</p><p><b>Командни файлове</b></p><p>Досега при даването на примери приемахме, че всеки път въвеждаме команди ръчно. Когато обработвате голям брой файлове или систематично изпълнявате едни и същи команди, това става тромаво. Следователно командният процесор предоставя възможност за изпълнение на командни файлове. Пакетният файл е текстов файл, съдържащ команди (или поне една команда). Пример за пакетен файл е показан в следния списък. Опитайте се да отгатнете какво прави този пакетен файл.</p><p>помощ копие> копиране.помощ</p><p>помощ при преместване> преместване.помощ</p><p>преместете * .help msdos-help</p><p>Ако целта на този файл остава загадка за вас, опитайте се да го създадете и изпълните. Обичайно е на пакетните файлове да се дава разширение <b>прилеп</b>... Чрез него файловете от този тип се разпознават от командния процесор. Този файл може да бъде наречен например <b>make-help.bat</b>.</p><p>За да стартирате пакетен файл:</p><ol><p>Въведете името му като команда. След това пакетният файл ще бъде изпълнен.</p> </ol><p>В пакетния файл всяка команда заема един ред. По-точно, има начин да поставите една команда на няколко последователни реда, за това, непосредствено преди всяко подаване на ред, поставете знака "cover" <b>^ </b>... (Всяка корица трябва да бъде последният знак на своя ред; не трябва да има интервали или табулатори след нея). Пример за такава команда е показан в следния списък.</p><p>ако съществува disser.txt ^</p><p>копирайте disser.txt ^</p><p>d: \ наука \ документи \ чернови \ източници</p><p>Но за простота, за да не правим резерви всеки път, ще приемем, че в известен смисъл това е една дълга „логична“ линия.</p><p>Когато се изпълнява команден файл, командният процесор сканира командния файл отгоре надолу от първия ред до последния и изпълнява командите в реда, в който ги намира. Изпълнява ги като цяло, все едно сме въвели всеки един от тях ръчно. Като цяло, защото някои команди се държат малко по-различно, когато се въвеждат ръчно и когато се изпълняват от пакетен файл.</p><p>Гледайки напред, нека кажем, че, ако е необходимо, последователността на изпълнение на командата може да бъде променена с помощта на команди за управление (които може да са свързани с такава нужда, отделен въпрос).</p><p>Не бъркайте текущата директория с директорията, в която се намира пакетният файл, който се изпълнява. Да предположим, че текущата директория е <b>работа</b>, съдържа директорията <b>инструменти</b>и директорията с инструменти съдържа пакетни файлове. Започвате един от тях с командата <b>инструменти \ collect-images.bat</b>... Така че, "от гледна точка" на този пакетен файл, текущата директория все още ще бъде <b>работа</b>, но не <b>инструменти</b>.</p><p><b>Коментиране на пакетния файл и неговото издаване. Команди Echo и Rem</b></p><p>Пакетният файл по същество е програма, написана на езика на обвивката на операционната система. Текстът на програмата трябва да бъде снабден с коментари, така че, връщайки се към него след известно време, да не си спомняте болезнено за какво е тази програма и как работи.</p><p>Командната система MS-DOS предоставя командата за коментиране <b>рем</b>... Това е фиктивна команда, която не предполага никакви действия, но ви позволява да пишете произволен текст на реда след вашето име. Освен това командният процесор не го възприема като синтактична грешка. Пример за форматиране на пакетен файл с коментари е показан в следния списък.</p><p>рем ***************************************************** * ***</p><p>rem Генериране на помощни файлове</p><p>помощ копие> копиране.помощ</p><p>помощ при преместване> преместване.помощ</p><p>преместете * .help msdos-help</p><p>Забележете празните редове, които разбиват пакетния файл на "параграфи". Този прост трик прави пакетния файл по-четлив.</p><p>При изпълнение на горния пакетен файл всички команди ще се показват на екрана, докато се изпълняват, което не винаги е удобно. Издаването на команди може да бъде деактивирано с помощта на командата <b>@ехото изключено</b>... Символът "куче" пред командата <b>ехо</b>означава, че самата тази команда трябва да бъде изпълнена в "безшумен" режим. Може и да не използваме командата <b>ехото изключено</b>, и поставете "куче" пред всеки отбор.</p><p>В много случаи се изисква командният файл да изведе определени съобщения на екрана (или във файл). В някои случаи това могат да бъдат съобщения за грешки, в други информационни съобщения, обясняващи на потребителя на пакетния файл какво се случва в момента, понякога ние формираме друг полезен файл с пакетния файл. Същата команда echo се използва за показване на съобщения. Като параметър към него се предава текстът на изведеното съобщение. Списъкът с подобрения пакетен файл е показан по-долу.</p><p>рем ***************************************************** * ***</p><p>rem Генериране на помощни файлове за командите за копиране и преместване</p><p>рем ***************************************************** * ***</p><p>@echo Генериране на помощни файлове. Една секунда ...</p><p>rem Генериране на помощни файлове</p><p>помощ копие> копиране.помощ</p><p>помощ при преместване> преместване.помощ</p><p>rem Създайте директория за съхранение на помощни файлове</p><p>rem Преместете помощните файлове в подготвената директория</p><p>преместете * .help msdos-help</p><p>ехо Готово!</p><p><b>Предаване на параметри към пакетния файл</b></p><p>Да предположим, че искаме да създадем пакетен файл, който първо генерира помощ с описание на дефинирана от потребителя команда и след това го зарежда за преглед в бележник. Номерът е да му кажем по някакъв начин коя команда ни интересува този път следващия път, когато пакетният файл бъде стартиран.</p><p>За решаване на този проблем е осигурен механизъм за обработка на параметри. Работи доста просто. Ако при стартиране на пакетния файл потребителят е посочил няколко параметъра, тогава в текста на пакетния файл ние обозначаваме първия от тях с записа <b>%1 </b>, вторият запис <b>%2 </b>, трети запис <b>%3 </b>и т.н. Ние използваме тези обозначения в текста на пакетния файл по приблизително същия начин, както в естествената реч с местоимения.</p><p>Текстът на командния файл, който решава проблема, е показан в следния списък. Обърнете внимание на командата <b>помогне</b>... Първият параметър на пакетния файл му се предава като негов параметър.</p><p>rem Формираме файл с описание на командата,</p><p>rem, чието име е предадено от параметър</p><p>help% 1> help.tmp</p><p>rem Заредете файла с описание в редактора на Notepad</p><p>бележник help.tmp</p><p>Да предположим, че сме дали името на този пакетен файл <b>show-help.bat</b>... За да заредите описание на команда в бележника, например, <b>реж</b>, трябва да въведете командата, както следва.</p><p>show-help.bat реж</p><p>Следващият команден файл създава директория с името, посочено в първия параметър, и записва в него файл с текста за описание на командата, посочен във втория параметър.</p><p>rem Примерен пакетен файл с два параметъра</p><p>rem Създайте директория с името, дадено от първия параметър</p><p>rem Създайте файл с описание на командата в него,</p><p>rem, даден от втория параметър</p><p>помощ% 2>% 1 \% 2.помощ</p><p>Какво се случва, ако потребителят, когато стартира този пакетен файл, посочи не два, а четири параметъра? Всичко е наред, няма да пречат на нищо, просто няма да се използват. Ами ако потребителят посочи само първия параметър? Вторият параметър ще бъде празен. Ефектът ще бъде следният: пакетният файл ще бъде изпълнен, но сякаш на мястото на запис <b>%2 </b>няма нищо. Командата help ще генерира списък с всички команди и ще го постави във файл с празно име и разширение .help. Ако потребителят стартира този файл, без да посочва никакви параметри, тогава когато командният процесор се опита да изпълни командата <b>md</b>(не забравяйте, че е предназначена за създаване на директория), ще получим съобщение за синтактична грешка, тъй като командата md трябва да има параметър.</p><p>По този начин използването на параметри създава големи възможности, но може значително да усложни нещата. За да може пакетният файл винаги да работи правилно, е необходимо да се провери правилността на параметрите, посочени от потребителя, и по някакъв начин да се реагира на непълни или неправилни входни данни. Можете, разбира се, да не правите това, но неправилно работещ пакетен файл може да предизвика пожар, особено ако включва изтриване или презаписване на данни.</p><p><b>Променливи. Задайте команда</b></p><p>Променливата е именувана стойност. В учебниците по програмиране променливата обикновено се сравнява с плик с изписано име. Можете да поставите нещо вътре в плика, например, определена сума пари - това е неговата стойност. Както при плика, стойността на променливата може да бъде променена.</p><p>За да декларирате променлива и в същото време да й присвоите стойност, използвайте командата <b>комплект</b>... Пример за писане на тази команда е показан в следния списък.</p><p>За да извлечете стойността на променлива, поставете нейното име между два знака за процента, както е показано по-долу.</p><p>rem Компилатор за помощни файлове във формат CHM</p><p>задайте help_compiler = c: \ HTML Help Workshop \ hcc.exe</p><p>rem Проект на помощния файл на модул "Склад".</p><p>set store_hpj = help \ sources \ store \ store.hpj</p><p>rem Проект на помощния файл на модула "Продажби".</p><p>задайте sales_hpj = помощ \ източници \ продажби \ sales.hpj</p><p>rem Компилиране на помощни файлове</p><p>% help_compiler%% store_hpj%</p><p>% help_compiler%% sales_hpj%</p><p>Този списък показва колко полезни са променливите.</p><p>Първо, те позволяват вместо дълъг фрагмент (например пътя към компилатора на помощни файлове) да се използва кратък синоним на него в пакетния файл. Най-малкото е удобно.</p><p>Второ, те позволяват да се избегне повторение в текста на пакетния файл на фрагменти, които могат да се променят в бъдеще. Представете си, че сме преинсталирали Microsoft HTML Workshop в друга директория. Ако в командния файл се използва променлива за записване на пътя към нея, тогава ще бъде достатъчно да коригирате само един ред в командния файл, а именно този, в който е присвоена стойността на променливата <b>помощен_компилатор</b>... Ако пишехме пътя към компилатора всеки път, когато трябваше да бъде извикан, тогава след промяна на пътя, ще трябва да коригираме всеки такъв ред. В дадения пример те са два, но в реален проект може да има пет или петнадесет от тях със същия успех, според броя на помощните файлове, които искаме да компилираме. Проблемът не е, че е трудно да се коригира ръчно всеки ред (в края на краищата никой не е отменил командите „копиране“ и „поставяне“), а че това значително увеличава вероятността от случайна грешка.</p><p>Параметрите на пакетния файл също са променливи, но те се различават от обикновените променливи по това, че техните стойности се задават при стартиране на пакетния файл. По-нататък, говорейки за променливите, особено за работата с техните стойности, ще имаме предвид и параметрите на пакетния файл, поне при липса на изрични резерви за това.</p><p>При писане на пакетни файлове често се използва следната техника: няколко стойности на променливи се посочват една до друга (или ги редуват с всякакви символи или низове), за да се получи някаква нова значима стойност. Пример е показан в следния списък.</p><p><b>Проверка на условията и избор на опции. Команди If и goto</b></p><p>Командата if ви позволява да маркирате в командния файл групи от команди, които се изпълняват или не се изпълняват, в зависимост от определени условия. За какво е?</p><p>Проверката на състоянието е почти необходима мярка при създаване на пакетни файлове, които използват параметри. Преди да започне работа, пакетният файл, най-общо казано, трябва да се увери, че към него е прехвърлен правилният набор от параметри. В противен случай съществува голям риск той да бъде изпълнен неправилно или без резултат и потребителят ще трябва само да отгатне какъв е проблемът. Освен това, ако пакетен файл изтрие, премести или презапише някакви данни, тогава с неправилни параметри той дори може да причини щети.</p><p>Следващият списък показва вече познатия пакетен файл за компилиране на помощния файл. Добавена е проверка на първия параметър за непразен в началото на командния файл. Обърнете внимание на тази синтактична характеристика: двойният знак за равенство се използва за операцията за сравнение. Ако първият параметър се окаже непразен, се задейства командата goto, която "изхвърля" командния процесор към посочения етикет. В този случай името на този етикет се компилира. Имайте предвид, че там, където е етикетът, името му се предхожда от двоеточие, но не и в командата goto. Ако първият параметър е празен, обвивката се премества на следващия ред, който показва съобщение за грешка. И след това към следващия, който го хвърля в самия край на файла към етикета с името <b>завършек</b>.</p><p>ако не "% 1" == "" отидете на компилиране</p><p>rem Ако параметърът е празен, изведете съобщение за грешка</p><p>echo Help file Името на проекта не е посочено</p><p>rem и отидете до края на командния файл</p><p>rem до крайния етикет</p><p>rem Това е етикет с име compile</p><p>rem По-долу са командите за компилация</p><p>rem Път до компилатора на помощните файлове</p><p>set help_compiler = "c: \ Program Files \ HTML Help Workshop \ hhc.exe"</p><p>rem Пътят до директорията, където се намират проектите за помощния файл</p><p>set project_path = e: \ работа \ проекти \ помощни проекти</p><p>rem Извикайте компилатора, за да обработите конкретен проект,</p><p>rem, чието име предаваме в първия параметър</p><p>% help_compiler%% project_path% \% 1.hpj</p><p>rem Това е етикет с име Finish</p><p>Нека си го кажем, предложеният метод за проверка на параметъра не е най-успешният.</p><p>Първо, ако потребителят погрешно посочи името на несъществуващ файл като параметър, пакетният файл ще бъде доволен от това и ще се опита да компилира. По-правилният начин е да проверите дали такъв файл наистина съществува. За това е предвидена специална дума на командния език MS-DOS <b>съществуват</b>... Затова би било по-добре да напишете: <b>ако съществува% 1.hpj трябва да компилира</b>.</p><p>Второ, активното използване на командата <b>отивам</b>(т.нар. безусловен скок) и етикетите силно объркват кода. Технически те не са никак лоши, но е доста неудобно да се отстраняват грешки и да се поддържа пакетен файл, написан в този стил. Следователно програмистите отдавна смятат безусловното разклоняване за нежелателно. По-долу е показана по-правилна, от гледна точка на стила на програмиране, структурирана версия, която използва конструкцията <b>ако… друго</b>... Работи така: ако условието е вярно, командите в скоби след <b>ако</b>, и ако е false, след това в скоби <b>друго</b>.</p><p>rem Проверете дали параметърът е зададен</p><p>ако не съществува% 1.hpj (</p><p>rem Път до компилатора на помощните файлове</p><p>set help_compiler = "c: \ Program Files \ HTML Help Workshop \ hhc.exe"</p><p>rem Пътят до директорията, където се намират проектите за помощния файл</p><p>set project_path = e: \ работа \ проекти \ помощни проекти</p><p>rem Извикайте компилатора, за да обработите конкретен проект,</p><p>% help_compiler%% project_path% \% 1.hpj</p><p>Ето още един пример за работа с чекове. Следният пакетен файл създава директория с име <b>помощни файлове</b>(да предположим, че да разтоварите компилирани помощни файлове в него). Освен това, ако вече съществува директория със същото име (и вероятно съдържа стари помощни файлове, които не бихте искали да загубите: ами ако новите се окажат по-лоши?), пакетният файл му присвоява разширението bak. Но ако директорията <b>help-files.bak</b>вече съществува, командният файл го изтрива (ще приемем, че едно резервно копие е достатъчно за нас).</p><p>ако съществува help-files.bak rd help-files.bak</p><p>ако съществуват help-files ren help-files help-files.bak</p><p><b>Групова обработка на файлове. За командване</b></p><p>Командата for ви позволява да организирате изпълнението на повтарящи се действия от същия тип. Можете да го използвате за показване на числа от едно до десет, както е показано в следния списък.</p><p>за / l %% i в (1,1,10) направи ехо %% i</p><p>Променлива <b>и</b>наречен брояч на цикъла. Поради особеността на синтаксиса на командите <b>за</b>, името на брояча на цикъла трябва да бъде една буква. Освен това, ако напишем пакетен файл, тогава трябва да се постави двоен знак за процент пред името на брояча на цикъла, но ако просто напишем команда в командния ред, тогава единична.</p><p>Логиката на този отбор е следната. След думата <b>в</b>е посочен обхватът на брояча на циклите. В тази версия на командата това са три числа: началната стойност на брояча, стъпката на броене, граничната стойност на брояча. Когато се изпълнява команда, обвивката първо ще присвои променливата <b>и</b>смисъл <b>1 </b>, а след това на всяка стъпка от цикъла ще го увеличава с <b>1 </b>докато не надхвърли <b>10 </b>... Очевидно ще има десет такива стъпки. Ако посочихме числото като стъпка на броене <b>2 </b>, тогава цикълът ще се изпълнява пет пъти. На всяка стъпка от цикъла се изпълнява тялото на цикъла, изписано след думата <b>направи</b>... В показания пример това е команда echo, която отпечатва текущата стойност на брояча на цикъла.</p><p>Вероятно се сещате за ситуация, в която действително се изисква нещо подобно, но обикновено командата <b>за</b>използва се за повторение и обработка на файлове. Трябва да кажа, че в доста прости случаи груповата обработка на файлове се извършва с помощта на заместващи знаци. Ако искаме всички файлове в текущата директория да заменят разширението <b>.htm</b>На <b>.html</b>, въвеждаме командата <b>ren * .htm * .html</b>... Но ако същото нещо трябва да се направи не в една директория, а в дърво на директории, тогава не можете да правите без командата for. Долният пакетен файл изпълнява тази операция за всички htm файлове в поддиректорията на уебсайта на текущата директория. По-точно в цялото дърво на директории, което е вътре <b>уебсайт</b>.</p><p>за / r уебсайт %% i в (* .htm) do ren %% i %% ~ ni.html</p><p>Ключ <b>/ r</b>обозначава обхождане на директория <b>уебсайт</b>и всичките му вътрешности. Ако не го посочите (но тогава нямате право да посочите директорията), тогава ще бъдат обработени само файлове в текущата директория. Диапазонът от стойности на брояча на цикъла в тази версия на командата е наборът от всички файлове с разширение <b>.htm</b>разположен в директория (по-точно дърво) <b>уебсайт</b>... На пръв поглед влизането е странно <b>~ ni</b>означава, че от стойността на променливата <b>и</b>трябва да се маркира само името на файла. Командният език MS-DOS предоставя няколко такива модификатора, например записът <b>~ xi</b>означава разширението на файла. Всички модификатори са описани в справочника за командата <b>за</b>.</p><p>Тялото на цикъла може да се състои от няколко команди, затворени в скоби.</p><p>за / r уебсайт %% i в (* .htm) do (</p><p>rem Отпечатайте името на файла</p><p>rem Преименувайте файла</p><p>ren %% i %% ~ ni.html</p><p><b>Прехвърлете контрола към друг пакетен файл. Команда за обаждане</b></p><p>Възможно е да се извика друг команден файл от един пакетен файл. Това се прави от командата <b>повикване</b>... Забележително е, че променливите, зададени в извикващия пакетен файл, са "видими" за извикания. Обратно, след като извиканият файл приключи да работи и върне контрола на повикващия, последният ще „вижда“ променливите, оставени му от извикания „наследен“. Това позволява на разработчика на пакетните файлове да продължи, например, както следва. Ако няколко пакетни файла трябва да използват едни и същи стойности, например пътища към някои файлове, те могат да бъдат преместени в отделен пакетен файл, който ще действа като конфигурационен файл. Всеки работещ пакетен файл ще започне с извикване на конфигурацията. Предимството е, че когато променяте пътищата, трябва да правите промени само в един конфигурационен файл, а не в много работници.</p><p>"Config" пакетен файл <b>config.bat</b>.</p><p>rem Път до компилатора на помощните файлове</p><p>set help_compiler = "c: \ Program Files \ HTML Help Workshop \ hhc.exe"</p><p>rem Пътят до директорията, където се намират проектите за помощния файл</p><p>set project_path = e: \ работа \ проекти \ помощни проекти</p><p>"Работен" пакетен файл.</p><p>rem Настройка на променливи</p><p>rem Проверете дали параметърът е зададен</p><p>ако не съществува% 1.hpj (</p><p>rem Ако параметърът е празен, изведете съобщение за грешка</p><p>echo Не съществува такъв проект за помощен файл.</p><p>rem По-долу са командите за компилация</p><p>rem Извикайте компилатора, за да обработите конкретен проект,</p><p>rem, чието име предаваме в първия параметър</p><p>% help_compiler%% project_path% \% 1.hpj</p> <p>В тази статия ще разгледаме такова полезно нещо като „ <b>тениска</b>". Нека първо дефинираме какво е bat файл. Пакетните или пакетните файлове са прости текстови файлове, които съдържат набори от команди ( <i>инструкция</i>) интерпретатор и има разширение bat или cmd ( <i>cmd работи само в NT операционни системи</i>). Можете да създавате и редактирате такива файлове с помощта на обикновен бележник или друг текстов редактор.</p> <p>Сега питате защо трябва да можете да пишете такива бат файлове? И защо са необходими? ще се опитам да обясня.</p> <p>Първо, те се използват за улесняване на работата, т.е. например, трябва постоянно да извършвате някаква операция всеки ден ( <i>например създайте архив на определени документи</i>), с помощта на пакетен файл, това може да бъде автоматизирано и вече няма да участвате в това.</p> <p>Второ, тези пакетни файлове са много мощни ( <i>освен ако разбира се не знаете как да ги пишете</i>), т.е. Можете дори да напишете хубава програма ( <i>Имам предвид под функционалност</i>). На мен лично ми помагат много в работата и просто забравих за някои неща, когато го правех ръчно.</p> <p>Сега нека да преминем директно към основите на тези боди. Как са създадени, просто трябва да създадете прост текстов документ, за да го отворите и веднага в раздела " <i>Файл-> Запиши като</i>", Пишете вместо разширението" <i>Текст на документ.txt</i>", например " <i>Текстов документ .bat</i>„И запазете, така че получаваме пакетен файл с разширението .bat, но той все още не прави нищо.</p> <p>Като начало ще дам пример за пакетен файл, който използвам в работата си за архивиране на документи.</p><p>"C: \ Program Files \ WinRAR \ winrar.exe" a -r -dh -ed -agYYYY-mm-dd E: \ arhaccounts \ d: \ акаунти \ *. Doc "C: \ Program Files \ WinRAR \ winrar. exe "a -r -dh -ed -agYYYY-mm-dd E: \ arhaccounts \ d: \ акаунти \ *. xls" C: \ Program Files \ WinRAR \ winrar.exe "a -r -dh -ed -agYYYY -mm-dd E: \ arhaccounts \ d: \ акаунти \ *.txt</p><p>Сега ще ви кажа малко какво прави този пакетен файл. WinRar стартира, след което командите WinRar следват:</p> <ul><li>a - това е за добавяне към архива;</li> <li>-r - процесни подпапки;</li> <li>-dh - отваряне на споделени файлове;</li> <li>-ed - не добавяйте празни папки;</li> <li>ГГГГ-мм-дд - добавете текущата дата към името на архива ( <i>формат на датата</i>);</li> <li>E: \ arhaccounts \ - път, където ще се намира крайният архив;</li> <li>d: \ accounts \ *.doc - път и маска на файловете за архивиране.</li> </ul><p>В този случай ние архивираме всички Word, Excel и текстови файлове; не е необходимо да архивираме останалите. Архивираме на друг диск и също така копираме получения архив на друг компютър, така че архивите да се съхраняват в друг офис. Копирането се извършва през мрежата, съответно компютърът, на който се копира архивът, трябва да бъде включен. За да направите това, можете да използвате следната команда:</p><p>Копирайте E: \ arhaccounts \ *. Rar \\ namecomp \ arhiv \</p><h2>Примери за команди за bat файлове</h2> <p>Сега нека да разгледаме основните команди, които можете да използвате.</p> <p>Ако трябва да изтриете файл, напишете следното:</p><p>Del d: \ файл \ test.doc</p><p><br>За да изтриете цялата директория, напишете:</p><p>Rd d: \ файл \</p><p>Изведнъж трябва да изтривате всичко от директория всеки път, след което използвайте това:</p><p>Ехо Y | del d: \ файл \</p><ul><li>del d: \ file \ - това е точно изтриването на всички файлове;</li> <li>ехо Y | - командата потвърждава изтриването, защото ако не регистрирате тази команда, тогава ще видите съобщение, потвърждаващо изтриването - "Продължи" и ще трябва да отговаряте на този въпрос всеки път.</li> </ul><p>Сега нека разгледаме по-сложен пример, в който условието вече е изпълнено:</p><p>@echo off "C: \ Program Files \ WinRAR \ winrar.exe" x -O + -IBCK d: \ test \ test.rar d: \ тест АКО НЕ СЪЩЕСТВУВА d: \ test \ 123.rar ОТИДИТЕ НА 1 АКО СЪЩЕСТВУВА d : \ test \ 123.rar ОТИДЕТЕ 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 край</p><p>Сега обяснявам, да кажем, че трябва да разархивирате архива test.rar, който ще съдържа много файлове, но ако има файл 123.rar, ще трябва да го разархивирате в корена на C устройството, а останалата част от файловете да останат в същата директория недокоснати.</p> <p>За целта е необходима командата @echo off, така че нищо да не се отразява на екрана ( <i>по принцип, ако нямате нужда, не можете да напишете този ред</i>). След това стартираме Winrar и разопаковаме архива test.rar в тестовата папка. След това идва условието, ако в теста ( <i>след разопаковане test.rar</i>) няма да имаме файла 123.rar, тогава просто изпълняваме пакетния файл, отива на реда: 1 и след това файлът test.rar просто се изтрива по ненужни причини. вече сме разопаковали всичко, от което се нуждаем. Но ако файлът 123.rar е там, тогава пакетният файл отива на ред: 2, след което файлът 123.rar се разопакова в корена на устройството C. С други думи, имаме условието, ако има файл, след това го направете, ако няма файл, направете това. Например, ако не посочите условието в този пример, тогава нашият пакетен файл ще даде грешка, тогава когато нямаме файла 123.rar в тази папка.</p> <p>Сега нека разгледаме такъв пример, да кажем, че трябва всеки път да премествате файлове от директорията, намираща се на диск D, на USB флаш устройство. Всеки път ще трябва да въведете моето устройство на компютъра D, да изберете желаната папка, да изберете всички файлове от нея и да изрежете, а след това просто отидете на USB флаш устройството и поставете. С помощта на пакетен файл това става с едно щракване ( <i>с едно условие флашката да е примерно диск G или каквото имаш</i>). Ето пример за такъв пакетен файл:</p><p>Преместете "D: \ catalog \ *. Doc" G: \ catalognaflehe \</p><p>И всички файлове с разширение doc, които се намират в директорията на каталога D: \, ще бъдат преместени на USB флаш устройството. Сега искам да кажа, че в тениските можете да използвате скриптове ( <i>скриптове</i>) с помощта на Windows Scripting Host и ако е необходимо, например, за показване на съобщение след копирането на файловете ( <i>предишен пример</i>) поставете това:</p><p>Echo var WSHShell = WScript.CreateObject ("WScript.Shell"); >% temp% \ mes.js echo WSHShell.Popup („Копирани файлове“); >>% temp% \ mes.js start% temp% \ mes.js deltree / y% temp% \ mes.js</p><p>Всъщност можете да говорите много за писане на пакетни файлове и, разбира се, не можете да го вместите в една статия, тук показах само принципите, които се използват при писане на bat файлове, така да се каже, основата. Ако искате да знаете повече команди за писане на пакетни файлове, можете лесно да ги прегледате, като напишете в командния ред ( <i>Старт - Изпълни - cmd</i>) командата за помощ, но, разбира се, не всички команди могат да се използват в боди. Успех с писането на BAT файлове ( <i>батников</i>).</p> <p>Продължение на темата в статията -</p> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> <div class="clear"></div> </div> </article> <div class='yarpp-related'> <section id="related_posts"> <div class="block-head"> <span>Повече информация по темата</span> <div class="stripe-line"></div> </div> <div class="post-listing"> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/24f160b7129d4838de192fcf03c0b2dd.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Как да се обадите на Беларус у дома" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/bg/kak-zvonit-na-belorusskii-mobilnyi-s-gorodskogo-kak-pozvonit-v-belorussiyu/">Как да се обадите на Беларус у дома</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/bcd93552a4d7a2ff4b899e85c60b1a19.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Как да се обадите на Беларус от Русия правилно и икономично" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/bg/kak-pravilno-ukazat-mobilnyi-belorusskii-nomer-telefona-kak-zvonit-v/">Как да се обадите на Беларус от Русия правилно и икономично</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/f850bcda989ca2385a255335bf7d05bf.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Телефонни номера на мобилни оператори в Русия по региони - списък с кодове" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/bg/kakomu-provaideru-prinadlezhit-nomer-telefona-nomera-telefonov-sotovyh/">Телефонни номера на мобилни оператори в Русия по региони - списък с кодове</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/d8eab3f28fe098867cb0cac49944d267.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Мобилна версия на VK - влезте през компютър" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/bg/v-kontakte-cherez-mobilnyi-mobilnaya-versiya-vk-vhod-cherez/">Мобилна версия на VK - влезте през компютър</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/93a2c3309b1d0b7f86421a77453daedb.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Какво означава забраната на съдържанието на номера?" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/bg/chto-znachit-na-nomere-zapret-kontenta-v-odnom-iz-ofisov-mts/">Какво означава забраната на съдържанието на номера?</a></div> <div class="related-item"> <div class="post-thumbnail tie-appear replacemy" data="post_7839"> <img width="195" height="110" src="/uploads/3cb27a5972542ad28b5364afa5d6ab35.jpg" class="attachment-tie-related size-tie-related wp-post-image" alt="Как да се обадите на Беларус у дома" / loading=lazy loading=lazy></div> <a class="post_7839" href="https://qzoreteam.ru/bg/poryadok-nabora-nomera-v-belorussiyu-kak-pozvonit-v-belorussiyu-na/">Как да се обадите на Беларус у дома</a></div> </div> </section> </div> <div id="comments"> <ol class="commentlist"> <div class='rreekk' rel='15'> <div id="smartrotator_ad_4" onclick="yaCounter40492595.reachGoal ('tizercommentbefore1'); return true;"></div> </div> </ol> <div class="clear"></div> <div id="respond" class="comment-respond"> </div> </div> </div> <aside id="sidebar"> <div class="theiaStickySidebar"> <div class="execphpwidget"> <div id="text-4" class="widget widget_text"> <div class="widget-top"> <span>Полезен</span> <div class="stripe-line"></div> </div> <div class="widget-container"> <div class="textwidget"> <style> .wpp-list li img { -webkit-border-radius: 65px; -moz-border-radius: 65px; border-radius: 65px; } .wpp-list li .post-views { display: block; margin-left: 70px; color: #828283; font-size: 12px; } .wpp-list li .post-views i { font-size: 13px; } .wpp-list li { line-height: 22px !important; } .replacemy { cursor: pointer; } } </style> <ul class="wpp-list"> <li> <div class="replacemy"><img src="/uploads/c5e76886bfbf60c104858768327f712e.jpg" width="65" height="65" title="Каква е тази услуга, защо е необходима" alt="Каква е тази услуга, защо е необходима" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/bg/chto-znachit-zablokirovat-kontent-chto-soboi-predstavlyaet-dannaya-usluga/" class=""><br>Каква е тази услуга, защо е необходима</a></li> <li> <div class="replacemy"><img src="/uploads/4d2782bf7e05adaaef2bc270077fbf3d.jpg" width="65" height="65" title="Най-лесният начин да се обадите в Беларус" alt="Най-лесният начин да се обадите в Беларус" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/bg/nomera-telefonov-v-belorussii-kak-pozvonit-v-belorussiyu-proshche/" class=""><br>Най-лесният начин да се обадите в Беларус</a></li> <li> <div class="replacemy"><img src="/uploads/3c213bdf8589fa395e302432d72a6750.jpg" width="65" height="65" title="Нанотехнология - какво е това" alt="Нанотехнология - какво е това" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/bg/chto-oznachaet-pristavka-mili-nano-tehnologii-chto-eto/" class=""><br>Нанотехнология - какво е това</a></li> <li> <div class="replacemy"><img src="/uploads/b7b084088776452c976aad7d808bb5fe.jpg" width="65" height="65" title="„Нанотехнология“, „нанонаука“ и „нанообекти“: какво означава „нано“" alt="„Нанотехнология“, „нанонаука“ и „нанообекти“: какво означава „нано“" class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/bg/chto-oznachaet-slovo-nano-nanotehnologiya-nanonauka-i-nanoobekty-chto/" class=""><br>„Нанотехнология“, „нанонаука“ и „нанообекти“: какво означава „нано“</a></li> <li> <div class="replacemy"><img src="/uploads/3c213bdf8589fa395e302432d72a6750.jpg" width="65" height="65" title="„Нанотехнология“: какво означава „нано“." alt="„Нанотехнология“: какво означава „нано“." class="wpp-thumbnail wpp_cached_thumb wpp_featured" / loading=lazy loading=lazy></div><a href="https://qzoreteam.ru/bg/mega-kilo-mili-nanotehnologiya-chto-znachit-nano/" class=""><br>„Нанотехнология“: какво означава „нано“.</a></li> </ul> </div> </div> </div> </div> </div> <div> </div> </aside> <div class="clear"></div> </div> <footer id="theme-footer"> <div id="footer-widget-area" class="wide-narrow-2c"><div id="footer-first" class="footer-widgets-box"><div id="text-2" class="footer-widget widget_text"><div class="footer-widget-top"></div><div class="footer-widget-container"><div class="textwidget"> <p>Всичко за съвременните технологии. Грешки. игри. Разбивки. Техника. интернет <p></p> </div></div></div></div><div id="footer-second" class="footer-widgets-box"><div id="text-3" class="footer-widget widget_text"> <div class="footer-widget-top"></div> <div class="footer-widget-container"> <div class="textwidget"><a href="https://qzoreteam.ru/bg/sitemap.xml">карта на сайта</a></div> </div> </div><div id="text-7" class="footer-widget widget_text"><div class="footer-widget-top"></div><div class="footer-widget-container"><div class="textwidget"><br> <a href="">Обратна връзка</a> </div></div></div></div></div><div class="clear"></div> </footer> <div class="clear"></div> <div class="footer-bottom"> <div class="container"> <div class="alignright"></div> <div class="alignleft">© Авторско право 2017, https://qzoreteam.ru</div> <div class="clear"></div> </div> </div> </div> </div> </div> <div id="topcontrol" class="fa fa-angle-up" title="Отидете в горната част на страницата"></div> <div id="fb-root"></div> <script type="text/javascript"> jQuery(function($) { $(document).on("click", ".pseudo-link", function() { window.open($(this).data("uri")); }); }); </script> <script type='text/javascript'> /* */ var tocplus = { "smooth_scroll": "1", "visibility_show": "\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c", "visibility_hide": "\u0441\u043a\u0440\u044b\u0442\u044c", "width": "310px" }; /* */ </script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/table-of-contents-plus/front.min.js'></script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/wp-polls/polls-js.js'></script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/wp-postratings/js/postratings-js.js'></script> <script type='text/javascript'> /* */ var tie = { "mobile_menu_active": "true", "mobile_menu_top": "", "lightbox_all": "", "lightbox_gallery": "", "woocommerce_lightbox": "", "lightbox_skin": "dark", "lightbox_thumb": "vertical", "lightbox_arrows": "true", "sticky_sidebar": "", "is_singular": "1", "SmothScroll": "true", "reading_indicator": "", "lang_no_results": "\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0448\u043b\u043e\u0441\u044c", "lang_results_found": "\u041d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b" }; /* */ </script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/themes/pochk/js/tie-scripts.js'></script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/themes/pochk/js/ilightbox.packed.js'></script> <script type='text/javascript' src='/wp-includes/js/comment-reply.min.js'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js'></script> <script type='text/javascript'> /* */ var gglcptch_pre = { "messages": { "in_progress": "\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0434\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 Google reCAPTCHA.", "timeout": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c Google reCAPTCHA. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0412\u0430\u0448\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u0441\u0435\u0442\u0438 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u044d\u0442\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443." } }; /* */ </script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/google-captcha/js/pre-api-script.js'></script> <script type='text/javascript' data-cfasync="false" async="async" defer="defer" src='https://www.google.com/recaptcha/api.js?onload=gglcptch_onload_callback&render=explicit'></script> <script type='text/javascript' src='https://qzoreteam.ru/wp-content/plugins/google-captcha/js/script.js'></script> <script type="text/javascript" src="https://qzoreteam.ru/wp-content/themes/pochk/my/my.js"></script> <script type="text/javascript" src="https://qzoreteam.ru/wp-content/themes/pochk/my/etimer.js"></script> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html>