Съдържание:
- Стъпка 1: Команда START
- Стъпка 2: Команда SET - Теория на струните (1/4)
- Стъпка 3: Команда SET - Mr.Math (2/4)
- Стъпка 4: Команда SET - Въвеждане от потребителя (3/4)
- Стъпка 5: Команда SET - Повече от отговаря на окото (4/4)
- Стъпка 6: Команда IF - Всички са равни (1/2)
- Стъпка 7: Ако командвате - но аз съм по -голям от вас (2/2)
- Стъпка 8: GOTO Command
- Стъпка 9:> Параметър (1/2)
- Стъпка 10: >> Параметър (2/2)
- Стъпка 11: Примерно изпълнение
- Стъпка 12: Заключение: Заключителни бележки
Видео: Разширена партида: 12 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:55
но това е добре, просто използвайте командата CD или CHDIR, за да промените директорията. Но това няма особено значение в този случай. "," Отгоре ": 0.08480565371024736," вляво ": 0.014285714285714285," височина ": 0.8586572438162544," ширина ": 0.9357142857142857}]">
МОЛЯ, ДИРЕКТИРАЙТЕ ВСИЧКИ ВЪПРОСИ, КОИТО МОЖЕТЕ ДА ИЗПОЛЗВАТЕ В МОЯ БЛОГ: https://tamsanh.com/blog/2008/07/11/batch-tutorial-3-advanced-batch/ Вече не посещавам инструкции и ще получите по-бързо отговор по този начин. Хей момчета! Там Нгуен тук. Мина много време, но сега е тук! Представям ви следващата част от моите групови уроци! Може (а може и да не сте) да сте прочели другите ми инструкции: Основи на Batch Малко по -усъвършенствана партида Тази инструкция заема някои елементи от първите две инструкции. А именно: ECHO CommandCD CommandDIR Command Ако не сте прочели другите две, предлагам да прегледате тези команди бързо. Ще изчакам тук. Добре! До края на тази инструкция ще бъдете интимни с: START CommandSET CommandIF CommandGOTO Command> и >> Параметри С тези команди ще можете да правите динамични пакетни файлове, които могат да се променят според въвеждането от потребителя, и създаване и разширяване. Така че нека отворим този добър 'ol команден ред и започнете! Run-> cmd Алтернативно, можете да отидете на: Start-> Program Files-> Accessories-> Command Prompt Моите обяснения в тази инструкция станаха малко дълги, така че разделих някои команди на повече от една страница главно за естетически цели; Хареса ми да виждам снимките, докато чета текста, без да се налага да превъртам нагоре и надолу. Обикновено след всеки Code Snippet има снимка. Насладете се!
Стъпка 1: Команда START
Командата START е хубава малка команда, която стартира неща! Това е проста команда и ще ни помогне да се затоплим, преди да стигнем до по -трудните команди. Параметрите на командата са точно това, което смятате, че са.
Стартирайте ThingToBeStarted.exeДоста просто
Стартирайте WMPlayer.exeНе само можете да започнете.exe, можете също да въведете уебсайт и той ще се отвори във вашия браузър по подразбиране
СТАРТ www. Instructables.comДоста лесно, а? Добре. Сега нека преминем към истинското месо на командата Instructable: SET.
Стъпка 2: Команда SET - Теория на струните (1/4)
Командата SET: Променливата Definer. Ah. Променливи. Амброзия на разработчика. Променливите са битове памет, които са … грешка, променлива. Няма IFs ANDs или NOTs за това! (хаха, съжалявам). Добре! И така, как работи това бебе? Много просто параметрите на командата SET са: SET VariableName = Variable ValueSET сам по себе си ще създаде низови променливи.
SET TestVS = Тест променлива низ!В този случай ние просто запазихме стойността "Test Variable String!" в променливата TestVS. Е, това е всичко забавление и игри, но как да извлечем стойността на променливата? Използваме %. Просто добавете % около името на променливата
ECHO %тестVS %Добре, но какво друго може да направи?
Стъпка 3: Команда SET - Mr. Math (2/4)
Може ли да прави математика? Е, нека направим проста партида, за да я тестваме.
@ECHO OFFSET Test = 1ECHO%Test%SET Test =%Test%-1ECHO%Test%PAUSEУау, какво стана? Това трябваше да свърши работа! Чакай малко … какво беше това, че командите SET правят само низове? Да. Командата SET сама по себе си ще създаде само променлива от низ, което означава, че ще създаде най -буквалната интерпретация на стойността. Не мисли „1 - 1“да е равно на „0“, а „1 - 1“е равно на „1 - 1.“Искаме променливата да не се копира директно, а да се оценява. Това означава, че искаме да го превърнем от низ в израз! Много лесна промяна, просто добавете a /a към командата SET. Ето един прост партиден файл, за да го видите в действие, или можете просто да го въведете в ръководството за командния ред. Предлагам последното; той е много по -бърз и кодът не е твърде сложен, но ако наистина искате пакетния файл, ето го
@ECHO OFFSET /a Test = 2+2ECHO %Test %PAUSEФантастично! Това го изрази перфектно. Сега знаем какви промени трябва да бъдат направени в нашия 'test по математика.bat
@ECHO OFFSET /a Test = 1ECHO%Test%SET /a Test =%Test%-1ECHO%Test%PAUSEДобре. Така че нека го стартираме! Страхотно! Работи перфектно! Но какво следва?
Стъпка 4: Команда SET - Въвеждане от потребителя (3/4)
SET също има възможност да подкани потребителя за въвеждане. Чрез добавяне на /p към параметрите SET, той го трансформира от нормална настройка на променливи в контролер за настройка на променлива, контролиран от потребителя.
SET /p UDefine =С /p програмата всъщност спира и чака въвеждането от потребителя, но чакам, не виждам параметър /, означава ли това, че променливата е само низ? /P на параметрите напълно отрича /a и ако го опитате, просто получавате грешка в липсващ операнд. Това означава, че променливата, дефинирана от потребителя, няма да може да оценява изразите. И така, какво може да се направи? Е, ето един труден трик, за който се сетих, че можем да използваме. Командата SET не прави едновременното използване на параметри /p и /a, нали? Е, какво ще кажете за последователното използване на параметрите /a и /p? Аааа … лукави ботуши
@ECHO OFFECHO Калкулатор Версия 1.0ECHO. SET /p UDefine = SET /a UDefine =%UDefine%ECHO = ECHO%UDefine%ECHO. PAUSEХубав калкулатор имаш. Ако не сте го разбрали досега, {{{ECHO.}}} Е празен ред. Не е ли готино-готино?
Стъпка 5: Команда SET - Повече от отговаря на окото (4/4)
В този момент може да изглежда, че променливите на командата SET са добри само за низове и изрази. Не е вярно. Променливите всъщност са много гъвкави и не се ограничават само до ECHO. Опитвали ли сте просто да напишете променлива сама по себе си?
SET Test = инструкции%Test%Каква странна грешка … пише, че командата "Instructables" не се разпознава, не че % Test % няма синтаксис. Това означава, че DOS третира всяка променлива така, както е написана на ръка. Ами ако
SET Test = START cmd.exe%Test%Страхотно! Работи! DOS третира всяка променлива така, както е въведена от потребителя, и я изпълнява съответно. Ето един интересен код: (Просто копиране/поставяне; това е малко досадно.
@ECHO OffSET променлива1 = ECSET променлива2 = HSET променлива3 = O CSET променлива4 = ooSET променлива5 = l! ECHO%променлива1 %% променлива2 %% променлива3 %% променлива4 %% променлива5%ECHO.%Променлива1 %% променлива2 %% променлива2 %% %Променлива 5%паузаНе е ли хубаво? Всяка променлива съдържа две букви от цялото съобщение (с изключение на променлива2) и като подредите променливите в ред, всяка буква се добавя и завършва цялата команда на ECHO Cool! Командата SET е една от по -сложните и мощни команди на DOS речник.
Стъпка 6: Команда IF - Всички са равни (1/2)
Този класически условен операнд. Основна, но мощна, за тези, които никога не са програмирали преди, командата IF звучи точно така. Ако изразът в синтаксиса се окаже вярно (или НЕ е вярно), следващата последователност от команди ще бъде изпълнена. Основният команден ред изглежда така:
IF%променлива1%==%променлива2%ECHO Тази част се изпълняваили ако имате повече от един синтаксис
@ECHO OFFIF%променлива1%==%променлива2%(ECHO Тази част се изпълнява. ECHO Така е и това.) ELSE (ECHO Ако променлива1 не & apost = променлива 2, това се случва. ECHO и това също се случва.)Забележка: Особеното поставяне на скоби не е защото не вярвам в организирания код, а защото ако те не са на тези места, целият фрагмент IF няма да работи. По този начин, ако има някаква грешка с вашия IF код, това е най -вероятно поради скобите. За да изпълня тази конкретна партида, всъщност използвах самия командния ред, за да мога да задам променливите, без да се налага да редактирам множеството IfVariableTest.bat пъти.
Стъпка 7: Ако командвате - но аз съм по -голям от вас (2/2)
Добре, така че имате хубав IF израз и всичко друго и проверката дали променливите са равни или не е хубаво и всичко, но не отговаря напълно на сметката. Искам нещо да се случи, ако променлива1 е по -малка от другата променлива! За тези от нас програмистите знам, че това изглежда като проста задача. Просто направете това, което правят всички останали езици за програмиране! Дръжте конете си каубойски. Не толкова бързо. Пакетният файл не е само вашият редовен език за програмиране. Колкото и глупаво да изглежда, "" не работи с пакетни файлове.
EQU - Равно - == NEQ - Не е равно LSS - По -малко от GTR - По -голямо от LENQ - По -малко или равно на ToGEQ - По -голямо от или равно наПросто поставете тези операнди вместо примера ==
АКО 32 GTR 3 ECHO Това ще работи
@ECHO OFFIF 32 GEQ 32 (ECHO 32 е по -голям от или равен на 32) ELSE (ECHO 32 определено е равен на 32) PAUSEIF 32 LSS 32 (ECHO 32 е по -малък от 32? Мисля, че не.) ELSE (ECHO 32 е Не по -малко от 32. Край на историята.) ПАУЗА
Стъпка 8: GOTO Command
Командата GOTO. Той прави точно това, което казва; отива на етикет в скрипта на пакетния файл. За да използвате тази команда, първо трябва да имате етикет на място. Етикетите изглеждат така:
: Етикет1Това е просто двоеточие преди нередовна поредица от букви и/или цифри. Командата GOTO е структурирана така
ОТЛИЧЕТЕ Етикет 1Толкова е лесно! Като се замисля, не съм много сигурен защо не го сложих в леко усъвършенстваната партида. Във всеки случай тази команда може да се използва за повтаряне на партиден файл, като просто ОТЛИЧЕТЕ етикет, който отново изпълнява командата GOTO
@ECHO OFF: RepeatMeECHO Това ще се повтори, освен ако не натиснете „CTRL-C“GOTO RepeatMeМежду другото, пакетният файл говори истината. CTRL-C е универсалната пауза и подкана за прекратяване. CTRL-S е просто пауза. Но затварянето на прозореца работи също толкова добре. GOTO може да пропусне или да пренареди кода си
GOTO TurnEOffGOTO MultipleGotoECHO Тази ECHO ще бъде пропусната.: MultipleGotoGOTO 3: ENDPAUSEEXIT: 1ECHO EndGOTO END: 3ECHO Това ще се покаже първо GOTO 2: TurnEOff@ECHO OFFGOTO МножествоGoto: 2GOTO това е 1Горният код е структуриран объркващо нарочно, за да подчертае способността на GOTO да прескача кода.
Стъпка 9:> Параметър (1/2)
Параметър (1/2) "src =" https://content.instructables.com/ORIG/FBH/P5XV/F3JESWI8/FBHP5XVF3JESWI8-j.webp
Параметър (1/2) "src =" https://content.instructables.com/ORIG/FIX/9BXW/F3JESWI5/FIX9BXWF3JESWI5-j.webp
Параметър (1/2) "src =" https://content.instructables.com/ORIG/FHZ/92ZS/F3JESWI7/FHZ92ZSF3JESWI7-j.webp
Параметър (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Параметър (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Параметър (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Параметър (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Параметър (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} "> Този следващ бит всъщност не е" команда ", а по -скоро е добавен синтаксис в друг команди. Това, което прави, е, че отнема изхода на определена команда и може да го запише в текстов файл. По -лесно е да се обясни, ако го видите първо в действие. Синтаксисът му е:
Команда> Име на файлДобре, да речем, че сме в определена директория. След това използваме командата DIR, която, ако прочетете Основите на партидата, ще знаете, че показва съдържанието на текущата ви директория
C: / Users / Neo \> DIRОбикновено ще се изведе
Силата на звука в устройство C е сериен номер на обем на HP BC7E-E26C Директория на C: / Users / Neo2007-30-06 11:14 AM.2007-30-06 11:14 AM..2007-17-03 18:41 PM.idlerc2007-19-02 03:14 PM Контакти2007-19-06 22:44 PM Desktop2007-29-06 08:47 AM Документи2007-19-06 10:35 AM Downloads2007-19-02 03:14 PM Любими02/19/ 2007 15:14 Връзки2007-12-05 04:01 PM Музика2007-30-06 01:20 AM Снимки2007-07-04 15:08 PM Запазени игри2007-19-02 03:14 PM Търсения2007-01-03 07:23 PM 242, 947 Тестов запис.wma2007-19-06 10:39 AM Видеоклипове2007-18-06 09:57 AM 1, 324, 574 wp_screenprint_mc.pdf2007-18-06 09:59 AM 73, 996, 533 wp_tshirt_full.mp4 4 Файл (и) 75, 564, 054 байта 14 Дир (и) 132, 927, 537, 152 байта безплатноНо ако добавим> и към него
C: / Users / Neo / DIR> DIRContents.txtНие не получаваме изход, но вместо това получаваме нов текстов файл с име на марка DIRContents.txt, който съдържа изхода! Охлаждане! Но изчакайте, има проблем! Искам да имам няколко изхода в един и същ файл, но my> просто продължава да го презаписва, а не да го добавя! Какво да правя?
Стъпка 10: >> Параметър (2/2)
Параметър (2/2) "src =" https://content.instructables.com/ORIG/FG4/B58B/F3JESWIJ/FG4B58BF3JESWIJ-j.webp
Параметър (2/2) "src =" https://content.instructables.com/ORIG/F05/GZB1/F3JESWIK/F05GZB1F3JESWIK-j.webp
Параметър (2/2) "src =" https://content.instructables.com/ORIG/F93/Q7VS/F3JESWL2/F93Q7VSF3JESWL2-j.webp
Параметър (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Параметър (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Параметър (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Параметър (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Параметър (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">
Параметър (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} "> Радвам се, че попитахте. За това е >> параметърът! >> е точно като>, но вместо напълно да презапишем посочения файл, ние го добавяме! Така че нека опитаме.
DIR >> DIRContents.txtЧист! Работи перфектно! Така че изчакайте. Означава ли това, че мога да напиша всичко, което искам в текстов файл? Искам да го пробвам
Партидата е страхотна> Awesome.txtКакво? Защо това не работи? Това е така, защото параметърът записва само изхода на законните команди, а не просто всичко, което въвеждате. Но това е проблем, който е просто решен. Не забравяйте, че параметрите записват изхода на командите. Каква команда има изход, който можем да контролираме? Командата на ECHO
ECHO Партидата е страхотна> Awesome.txtECHO I & aposm толкова се радвам, че го знам. >> Awesome.txtДа! Помня. >> добавя изхода към следващия ред на файла.
Стъпка 11: Примерно изпълнение
Добре. Така че нека да съберем всичко заедно! Ето някои примерни кодове, които направих, които използват командите, които ви показах в тази инструкция. Този код ще добавя непрекъснато 1 към променлива и ще извежда резултата за неопределено време.
@ECHO OFFSET /a num = 1: Повторете ECHO%num%SET /a num =%num%+1GOTO ПовторетеТози код ще стартира CMD.exe 5 пъти
@ECHO OFFSET /a RepeatNum = 5: OpenIF%RepeatNum%== 0 GOTO EndSTART CMD.exeSET /a RepeatNum =%RepeatNum%-1GOTO Open: КрайТози код ще създаде партиден файл в C: / Users / Neo и ще го стартира
@ECHO OFFCHDIR C: / Users / NeoECHO @ECHO OFF> Hello.batECHO ECHO Здравейте! >> Hello.batECHO ECHO I & aposm във вашия C Drive! >> Hello.batECHO PAUSE >> Hello.batC: / Users / Neo / Hello. batPauseТова е малка партида игра. Трябва да познаете номера
@ECHO OFFSET /a GuessNum = 0SET /a Отговор =%RANDOM%ECHO Познайте за какво число мисля & aposm.:RetrySET /p Познайте = IF%Guess%LSS%Answer%ECHO Моят номер е по -висок. IF%Guess%GTR%Answer %ECHO Моят номер е по -нисък. IF%Предполагам%==%Отговор%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Повторен опит: ENDECHO Прави сте! Отговорът беше %Answer %ECHO Това отне %GuessNum %Guesses. ECHO. PAUSEИ този, много ми харесва. Ако не внимавате обаче, това може да излезе извън контрол доста бързо, в зависимост от способностите на компютъра ви. Това, което този файл прави, е, че създава за неопределено време номерирани текстови файлове в директория, наречена lolnumbers. Всеки от тези текстови файлове съдържа DIR на директорията lolnumbers. Работата е там, че директорията непрекъснато става все по -пълна с текстови файлове, така че всеки пореден текстов файл е по -голям от последния. Резултатът от това е папка, чийто общ размер става все по -голям с всяка секунда
@ECHO OFFSET /a num = 1MKDIR lolnumbers CD lolnumbers: RestartDIR>%num%.txtSET /a num+= 1GOTO РестартиранеТова са доста основни кодове. Експериментирайте с тях до насита.
Стъпка 12: Заключение: Заключителни бележки
Фу. Покрихме адски много в тази инструкция. Това е, наистина, 3 пъти по -дълго от последното ми. Надявам се, че ще ви хареса! Само няколко напомняния, преди да тръгна. Запомнете: Когато НАСТРОЯВАТЕ променлива, никога не поставяйте интервал между променливата и нейната стойност. ДА:
SET променлива1 = СтойностДопълнителното пространство ще доведе до празна променлива. NO
SET променлива1 = СтойностСъщо така, множество IF. Не забравяйте да форматирате правилно скобите: ДА
АКО 1 == 1 (ECHO One е равно на едно!) ОЩЕ (ECHO Нещо & апос грешно с тази програма.)НЕ
АКО 1 == 1 (ECHO One е равно на едно!) ОЩЕ (ECHO Нещо & апос грешно с тази програма.)Също така има вградени променливи
%CD %% DATE %% TIME %% RANDOM%% CD% Разгъва се до текущата директория. По принцип пътят зад първите>% DATE% и% TIME% са датата и часът.% RANDOM% дава произволно число между 0 и 32767. Обсегът не може да бъде променен, не мисля. И това е основно! Надявам се да ви хареса тази инструкция, работих много усилено по нея. Надявам се, че ще компенсира 10 -месечното отсъствие. Сега лошите новини. Ще имам малко проблеми с отговорите на всякакви въпроси през следващите няколко месеца, защото ще съм извън страната. Но ако имате въпрос, просто оставете коментар на всеки. Ако все пак получа достъп до компютър, със сигурност ще отговоря, но не мисля, че това ще е необходимо; Instructables е приятелска общност и съм сигурен, че някой там ще ви помогне в трудното ви положение.
Препоръчано:
Увеличете паметта си с дворец на ума с разширена реалност: 8 стъпки
Увеличете паметта си с Дворец на ума с разширена реалност: Използването на дворците на ума, подобно на Шерлок Холмс, се използва от шампионите по памет, за да си припомнят много информация, като например реда на картите в разбъркана колода. Дворецът на ума или методът на локусите е техника на паметта, при която визуалната мнемоника е
Как да направите своя собствена ОС! (партида и пример отвътре): 5 стъпки
Как да направите своя собствена ОС! (партида и пример отвътре): Направете го сега
Кодиране с партида: 7 стъпки
Кодиране с пакет: Преди да започнемBatch е език за кодиране, направен от Microsoft. Това е безумно основно, тъй като не може да показва графики или да възпроизвежда аудио. Въпреки това е полезно да отваряте приложения, да правите текстови игри и да ги използвате като часовник до секунда
Условно изпълнение в партида: 7 стъпки
Условно изпълнение в пакет: Условно изпълнение означава, че команда може да бъде издадена само при определени условия. В тази инструкция също ще научите как да създадете едноредов партиден файл и как да организирате и категоризирате голям, объркващ партиден файл
Основна партида: 6 стъпки
Основна партида: В тази инструкция ще ви покажа основите на CMD и пакетните файлове, по -долу е снимка на моя CMD прозорец. Това е първата ми инструкция