Tartalomjegyzék:

Haladó köteg: 12 lépés
Haladó köteg: 12 lépés

Videó: Haladó köteg: 12 lépés

Videó: Haladó köteg: 12 lépés
Videó: Путина напугал громкий звук. И он сразу поправил бронежилет 2024, Július
Anonim

de ez rendben van, egyszerűen használja a CD vagy a CHDIR parancsot a könyvtár megváltoztatásához. De ez ebben az esetben nem igazán számít. "," Top ": 0.08480565371024736," left ": 0.014285714285714285," height ": 0.8586572438162544," width ": 0.9357142857142857}]">

Speciális köteg
Speciális köteg
Speciális köteg
Speciális köteg
Speciális köteg
Speciális köteg

KÉRJÜK, HOGY KÉRDÉSEKET TELJESÍTHETNEK A BLOGOMBA: https://tamsanh.com/blog/2008/07/11/batch-tutorial-3-advanced-batch/ válasz így. Hé srácok! Itt van Tam Nguyen. Rég volt, de most itt van! Bemutatom nektek a Kötegelt oktatóanyagok következő részét! Lehet, hogy elolvasta (vagy nem) a többi utasításomat: A Köteg alapjaiEnyhén továbbfejlesztett köteg Nevezetesen: ECHO CommandCD CommandDIR parancs Ha nem olvasta el a másik kettőt, azt javaslom, hogy gyorsan nézze át ezeket a parancsokat. Várok itt. Rendben! Ennek az utasításnak a végén intim leszel a következőkkel: START CommandSET CommandIF Command, és hozzon létre és bontson ki. Tehát nyissuk meg ezt a jó parancssort, és kezdjük el! Futtassuk-> cmd Alternatívaként a következőkre léphetünk: Start-> Programfájlok-> Tartozékok-> Parancssor, ezért néhány parancsot több oldalra bontottam, elsősorban esztétikai célokra; Szerettem látni a képeket a szöveg olvasása közben anélkül, hogy felfelé és lefelé kellett volna görgetni. Hüvelykujj a képek megtekintéséhez; Általában minden kódrészlet után van egy kép. Élvezze!

1. lépés: START parancs

START parancs
START parancs
START parancs
START parancs
START parancs
START parancs
START parancs
START parancs

A START parancs egy szép kis parancs, amely elindítja a dolgokat! Ez egy egyszerű parancs, és segít felmelegedni, mielőtt a nehezebb parancsokhoz érkeznénk. A parancs paraméterei pontosan azok, amiket gondol.

Indítsa el a ThingToBeStarted.exe fájltElég egyszerű

Indítsa el a WMPlayer.exe fájltNem csak a.exe fájlokat INDÍTANI, hanem egy webhelyet is beírhat, és megnyílik az alapértelmezett böngészőben

START www. Instructables.comElég könnyű, mi? Rendben. Most térjünk át az Instructable: SET Command valódi húsára.

2. lépés: SET Command - String Theory (1/4)

SET parancs - karakterláncelmélet (1/4)
SET parancs - karakterláncelmélet (1/4)
SET parancs - karakterláncelmélet (1/4)
SET parancs - karakterláncelmélet (1/4)

A SET parancs: A Variable Definer. Ah. Változók. A fejlesztő ambrózia. A változók a memória bitjei, amelyek… hibásak, változók. Nincs IF és ÉS NEM erről! (lol, bocsi). Rendben! Tehát hogyan működik ez a baba? Nagyon egyszerűen a SET parancs paraméterei a következők: SET VariableName = Változó ValueSET önmagában karakterlánc -változókat hoz létre.

SET TestVS = Változó karakterlánc tesztelése!Ebben az esetben csak a "Változó karakterlánc tesztelése" értéket tároltuk a TestVS. változóba. Nos, mindez szórakozás és játék, de hogyan szerezzük be a változó értékét? A % -ot használjuk. Csak adja hozzá a % -ot a változó neve körül

ECHO %tesztVS %Rendben, de mit tehet még?

3. lépés: SET Command - Mr. Math (2/4)

SET parancs - Mr. Math (2/4)
SET parancs - Mr. Math (2/4)
SET parancs - Mr. Math (2/4)
SET parancs - Mr. Math (2/4)
SET parancs - Mr. Math (2/4)
SET parancs - Mr. Math (2/4)

Tud matekozni? Készítsünk egy egyszerű köteget a teszteléshez.

@ECHO OFFSET Test = 1ECHO%Test%SET Test =%Test%-1ECHO%Test%PAUSEAww, mi történt? Ennek működnie kellett volna! Várjon egy percet … mi volt az, hogy a SET parancsok csak karakterláncokat készítenek? A SET parancs önmagában csak egy karakterlánc -változót hoz létre, vagyis az érték legegyszerűbb értelmezését hozza létre. Nem arra gondol, hogy "1-1" egyenlő "0" -val, hanem "1-1" egyenlő "1-1" -vel. Tehát hogyan változtathatjuk meg ezt? Azt akarjuk, hogy a változót ne közvetlenül másoljuk, hanem értékeljük. Ez azt jelenti, hogy karakterláncból kifejezéssé akarjuk alakítani! Egy nagyon egyszerű módosítás, egyszerűen adjon hozzá egy a /a -t a SET parancshoz. Íme egy egyszerű kötegelt fájl, amely megtekintheti azt működés közben, vagy egyszerűen beírhatja a parancssori kézikönyvbe. Én az utóbbit javaslom; sokkal gyorsabb, és a kód nem túl bonyolult, de ha valóban szeretné a kötegelt fájlt, akkor itt van

@ECHO OFFSET /a teszt = 2+2ECHO %teszt %PAUSEFantasztikus! Tökéletesen kifejezte. Most már tudjuk, hogy milyen változtatásokat kell végrehajtani a 'matematikai tesztünkön.bat

@ECHO OFFSET /a teszt = 1ECHO%teszt%SET /a teszt =%teszt%-1ECHO%teszt%PAUSERendben. Szóval fussunk! Nagyszerű! Tökéletesen működött! De mi lesz ezután?

4. lépés: SET parancs - felhasználói bevitel (3/4)

SET parancs - felhasználói bevitel (3/4)
SET parancs - felhasználói bevitel (3/4)
SET parancs - felhasználói bevitel (3/4)
SET parancs - felhasználói bevitel (3/4)
SET parancs - felhasználói bevitel (3/4)
SET parancs - felhasználói bevitel (3/4)

A SET képes arra is, hogy felszólítsa a felhasználót a bemenetre. A /p hozzáadásával a SET paraméterekhez átalakítja azt egy normál változó-beállítóból egy felhasználó által vezérelt változó-beállítóvá.

SET /p UDefine =A /p, a program valójában szünetel, és várja a felhasználó bemenetét. De várjon, nem látom a /a paramétert, ez azt jelenti, hogy a változó csak karakterlánc? Nos, valahogy. A paraméterek /p teljesen tagadják az /a -t, és ha megpróbálja, egyszerűen hiányzó operandus hibát kap. Ez azt jelenti, hogy a felhasználó által definiált változó nem tudja értékelni a kifejezéseket. Tehát mit tehetünk? Nos, itt van egy trükkös trükk, amire gondoltam, hogy használhatjuk. A SET parancs nem igaz a /p és /a paraméterek egyidejű használatára? Nos, mi a helyzet az /a és /p paraméterek szekvenciális használatával? Ááá … ravasz csizma

@ECHO OFFECHO kalkulátor 1.0 verzió. ECHO. SET /pSzép számológép van ott. Ha még nem jött rá, akkor az {{{ECHO.}}} Üres sor. Hát nem klassz?

5. lépés: SET parancs - Több, mint megfelel a szemnek (4/4)

SET parancs - Több, mint megfelel a szemnek (4/4)
SET parancs - Több, mint megfelel a szemnek (4/4)
SET parancs - Több, mint megfelel a szemnek (4/4)
SET parancs - Több, mint megfelel a szemnek (4/4)
SET parancs - Több, mint megfelel a szemnek (4/4)
SET parancs - Több, mint megfelel a szemnek (4/4)

Ezen a ponton úgy tűnhet, hogy a SET parancs változói csak a karakterláncokhoz és kifejezésekhez használhatók. Nem igaz. A változók valójában nagyon rugalmasak, és nem csak az ECHO -kra korlátozódnak. Próbáltál már csak egy változót beírni?

SET teszt = Utasítható%Teszt%Milyen furcsa hiba … azt mondja, hogy az "Instructables" parancsot nem ismeri fel, nem azt, hogy a % Test % nem rendelkezett szintaxissal. Ez azt jelenti, hogy a DOS minden változót úgy kezel, mintha kézzel gépelték volna. Nos, mi van, ha

SET teszt = START cmd.exe%Test%Fantasztikus! Működött! A DOS minden változót úgy kezel, mintha azt a felhasználó írta volna be, és ennek megfelelően futtatja. Íme egy érdekes kód: (Csak másolja/illessze be; ez egy kicsit unalmas.

@ECHO OffSET Variable1 = ECSET Variable2 = HSET Variable3 = O CSET Variable4 = ooSET Variable5 = l! ECHO%Variable1 %% Variable2 %% Variable3 %% Variable4 %% Variable5%ECHO.%Variable1 %% Variable2 %% Variable3 %% Variable4% %Változó5%SzünetHát nem ügyes? Minden változó a teljes üzenet két betűjét tartalmazza (kivéve a Variable2 -t), és a változók sorba állításával minden betű összeadódik és befejezi az ECHO Cool teljes parancsát! A SET parancs az egyik bonyolultabb és legerősebb parancs DOS szótár.

6. lépés: HA parancs - Mindenki egyenlő (1/2)

IF parancs - mindenki egyenlő (1/2)
IF parancs - mindenki egyenlő (1/2)
IF parancs - mindenki egyenlő (1/2)
IF parancs - mindenki egyenlő (1/2)
IF parancs - mindenki egyenlő (1/2)
IF parancs - mindenki egyenlő (1/2)

Ez a klasszikus feltételes operandus. Alapvető, de erőteljes. Azok számára, akik még soha nem programoztak, az IF parancs pontosan így hangzik. Ha egy kifejezés a szintaxisban igaznak (vagy NEM igaznak) bizonyul, akkor a következő parancssor hajtja végre. Az alapvető parancssor így néz ki:

IF%változó1%==%változó2%ECHO Ez a rész végrehajtásra kerülvagy ha több szintaxisa van

@ECHO OFFIF%változó1%==%változó2%(ECHO Ezt a részt hajtják végre. Megjegyzés: A zárójelek sajátos elhelyezése nem azért van, mert nem hiszek a szervezett kódban, hanem azért, mert ha nincsenek azokon a helyeken, akkor az egész IF -kódrészlet nem fog működni. Így ha bármilyen hiba van az IF -kóddal, akkor valószínűleg a zárójel miatt. Ennek a kötegnek a futtatásához valójában a parancssort használtam, hogy beállíthassam a változókat az IfVariableTest.bat többszörös szerkesztése nélkül alkalommal.

7. lépés: HA parancs - de nagyobb vagyok nálad (2/2)

IF parancs - De én nagyobb vagyok nálad (2/2)
IF parancs - De én nagyobb vagyok nálad (2/2)
IF parancs - De én nagyobb vagyok nálad (2/2)
IF parancs - De én nagyobb vagyok nálad (2/2)
IF parancs - De én nagyobb vagyok nálad (2/2)
IF parancs - De én nagyobb vagyok nálad (2/2)

Rendben, tehát van egy szép IF utasítás és minden, és annak ellenőrzése, hogy a változók egyenlőek -e vagy sem, minden rendben van, de nem teljesen illik a számlához. Azt akarom, hogy történjen valami, ha a változó1 kisebb, mint a másik változó! Mi, programozók, tudom, hogy ez egyszerű feladatnak tűnik. Csak tedd azt, amit a többi programozási nyelv is! Nem olyan gyorsan. A kötegelt fájl nem csak a szokásos programozási nyelv. Bármilyen butának is tűnik, a "" nem működik kötegelt fájlokkal.

EQU - egyenlő - == NEQ - nem egyenlő LSS - kevesebb, mint GTR - nagyobb, mint LEQ - kevesebb vagy egyenlő ToGEQ - nagyobb vagy egyenlőCsak tegye ezeket az operandusokat a == példa helyére

IF 32 GTR 3 ECHO Ez működni fog

@ECHO OFFIF 32 GEQ 32 (ECHO 32 nagyobb vagy egyenlő 32) ELSE (ECHO 32 határozottan egyenlő 32) PAUSEIF 32 LSS 32 (ECHO 32 kevesebb, mint 32? Szerintem nem.) ELSE (ECHO 32 is Nem kevesebb, mint 32. A történet vége.) SZÜNET

8. lépés: GOTO parancs

GOTO parancs
GOTO parancs
GOTO parancs
GOTO parancs
GOTO parancs
GOTO parancs

A GOTO parancs. Pontosan azt teszi, amit mond; a címkéhez megy a kötegelt fájl parancsfájljában. A parancs használatához először rendelkeznie kell egy címkével. A címkék így néznek ki:

: Címke1Ez egyszerűen egy kettőspont a szóközök nélküli betűk és/vagy számok előtt. A GOTO parancs így van felépítve

GOTO címke1Ilyen egyszerű! Ha jobban belegondolok, nem vagyok benne biztos, hogy miért nem tettem ezt a kissé fejlett kötegbe. Mindenesetre ez a parancs használható egy kötegelt fájl megismétléséhez, egyszerűen GOTO címkével, amely újra végrehajtja a GOTO parancsot

@ECHO OFF: RepeatMeECHO Ez megismétlődik, ha nem nyomja meg a "CTRL-C" GOTO RepeatMeA kötegelt fájl egyébként igazat mond. A CTRL-C az univerzális szüneteltetés és felszólítás a megszüntetésre. A CTRL-S egyszerűen szünet. De az ablak bezárása ugyanúgy működik. A GOTO kihagyhatja vagy átrendezheti a kódot is

GOTO TurnEOffGOTO MultipleGotoECHO Ezt az ECHO -t kihagyják.: TöbbGotoGOTO 3: ENDPAUSEEXIT: 1ECHO Az EndGOTO END: 3ECHO Ez jelenik meg először 1A fenti kódot zavartan strukturálták, hogy hangsúlyozzák a GOTO azon képességét, hogy ugráljon a kódban.

9. lépés:> Paraméter (1/2)

Példa megvalósításra
Példa megvalósításra

Paraméter (1/2) "src =" https://content.instructables.com/ORIG/FBH/P5XV/F3JESWI8/FBHP5XVF3JESWI8-j.webp

Példa megvalósításra
Példa megvalósításra

Paraméter (1/2) "src =" https://content.instructables.com/ORIG/FIX/9BXW/F3JESWI5/FIX9BXWF3JESWI5-j.webp

Példa megvalósításra
Példa megvalósításra

Paraméter (1/2) "src =" https://content.instructables.com/ORIG/FHZ/92ZS/F3JESWI7/FHZ92ZSF3JESWI7-j.webp

Következtetés: Záró megjegyzések
Következtetés: Záró megjegyzések

Paraméter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Paraméter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Paraméter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Paraméter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Paraméter (1/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} "> Ez a következő bit valójában nem" parancs ", hanem inkább egy szintaxis Ez egy bizonyos parancs kimenetét igényli, és szöveges fájlba tudja írni. Könnyebb elmagyarázni, ha először látja működés közben. Szintaxisa:

Parancs> FájlnévNos, tegyük fel, hogy egy bizonyos könyvtárban vagyunk. Ezután a DIR parancsot használjuk, amely, ha elolvassa a Köteg alapjai című részt, tudja, hogy az aktuális könyvtár tartalmát mutatja

C: / Users / Neo \> DIRÁltalában kimenetet adna

A C meghajtó hangereje a HP kötet sorozatszáma: BC7E-E26C C könyvtár: / Users / Neo2007-30-06 11:14. 2007-30-06 11:14 AM..2007-17-03 06:41 PM.idlerc2007-19-02 15:14 PM Kapcsolatok2007-19-06 22:44 Desktop2007-29-06 08:47 AM Dokumentumok2007-19-06 10:35 Letöltések2007-19-02 15:14 PM Kedvencek 2007 03:14 PM Linkek 2007-12-05 04:01 PM Music2007-30-06 01:20 AM Pictures2007-07-04 15:08 PM Mentett játékok2007-19-02 15:14 PM Keresések PM 242, 947 Tesztrekord. Wma2007-19-06 10:39 Videók2007-18-06 09:57 1, 324, 574 wp_screenprint_mc.pdf2007-18-06 09:59 73, 996, 533 wp_tshirt_full.mp4 4 Fájl (ok) 75, 564, 054 bájt 14 Dir (ek) 132, 927, 537, 152 bájt ingyenesDe, ha hozzáadjuk a> -et és hozzá

C: / Users / Neo / DIR> DIRContents.txtNem kapunk kimenetet, hanem egy vadonatúj DIRContents.txt nevű szövegfájlt kapunk, amely tartalmazza a kimenetet! Hűvösség, de várj, van egy probléma! Szeretném, ha több kimenet lenne ugyanabban a fájlban, de az én> csak felülírja, és nem adja hozzá! Mit tegyek?

10. lépés: >> Paraméter (2/2)

Paraméter (2/2) "src =" https://content.instructables.com/ORIG/FG4/B58B/F3JESWIJ/FG4B58BF3JESWIJ-j.webp

Paraméter (2/2) "src =" https://content.instructables.com/ORIG/F05/GZB1/F3JESWIK/F05GZB1F3JESWIK-j.webp

Paraméter (2/2) "src =" https://content.instructables.com/ORIG/F93/Q7VS/F3JESWL2/F93Q7VSF3JESWL2-j.webp

Paraméter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Paraméter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Paraméter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Paraméter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Paraméter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} ">

Paraméter (2/2) "src =" {{file.large_url | add: 'auto = webp & frame = 1 & height = 300' %} "> Örülök, hogy megkérdezted. Erre szolgál a >> Paraméter! >> olyan, mint a>, de ahelyett, hogy teljesen felülírnánk a megadott fájlt, hozzáadjuk! Tehát próbáljuk ki.

DIR >> DIRContents.txtTiszta! Tökéletesen működött! Szóval várj. Ez azt jelenti, hogy bármit be tudok írni egy szöveges fájlba? Ki akarom próbálni

A köteg fantasztikus> Félelmetes.txtMit? Ez miért nem működött? Ez azért van, mert a paraméter csak a törvényes parancsok kimenetét írja, nem csak azt, amit beír. De ez egy egyszerűen megoldható probléma. Ne feledje, hogy a paraméterek rögzítik a parancsok kimenetét. Melyik parancsnak van kimenete, amelyet irányíthatunk? Az ECHO parancsnoksága

Az ECHO Batch Is Awesome> Awesome.txtHurrá! Emlékezik. A >> hozzáadja a kimenetet a fájl következő sorához.

11. lépés: Példa megvalósításra

Rendben. Tehát rakjuk össze az egészet! Íme néhány mintakód, amelyet az utasításban bemutatott parancsok felhasználásával készítettem el. Ez a kód folyamatosan hozzáad egy 1 -et egy változóhoz, és korlátlanul adja ki az eredményt.

@ECHO OFFSET /a szám = 1: IsmétlésECHO%num%SET /a szám =%num%+1 GOTO IsmétlésEz a kód ötször indítja el a CMD.exe fájlt

@ECHO OFFSET /a RepeatNum = 5: OpenIF%RepeatNum%== 0 GOTO EndSTART CMD.exeSET /a RepeatNum =%RepeatNum%-1GOTO Open: EndEz a kód kötegelt fájlt hoz létre a C: / Users / Neo mappában, és futtatni fogja

@ECHO OFFCHDIR C: / Users / NeoECHO @ECHO OFF> Hello.batECHO ECHO Hello! >> Hello.batECHO ECHO I & aposm a C meghajtóban! >> Hello.batECHO PAUSE >> Hello.batC: / Users / Neo / Hello. batPauseEz egy kis játékcsomag. Ki kell találnia a számot

@ECHO OFFSET /a GuessNum = 0SET /a Válasz =%RANDOM%ECHO Találd ki, mire gondolok. ‘: RetrySET /p Találd meg = IF%Találd%LSS%Válasz%ECHO Saját szám magasabb. IF%Guess%GTR%Answer %ECHO Saját szám alacsonyabb. IF%Guess%==%Válasz%GOTO ENDECHO. SET /a GuessNum =%GuessNum%+1GOTO Újrapróbálkozás: ENDECHO Igazad van! A válasz %válasz %ECHO %GuessNum %Guesses. ECHO. PAUSE kellettEzt pedig nagyon szeretem. Ha azonban nem vigyáz, a számítógép képességétől függően meglehetősen gyorsan kieshet a kezéből. Ez a fájl korlátlan ideig számozott szövegfájlokat hoz létre a lolnumbers nevű könyvtárban. Ezen szöveges fájlok mindegyike tartalmazza a lolnumbers könyvtár DIR -jét. A helyzet az, hogy a könyvtár folyamatosan teljesebb és teljesebb lesz a szöveges fájlokkal, így minden egyes szöveges fájl nagyobb, mint az utolsó. Ennek eredménye egy mappa, amelynek teljes mérete másodpercenként egyre nagyobb lesz

@ECHO OFFSET /a num = 1MKDIR lolnumbers CD lolnumbers: RestartDIR>%num%.txtSET /a num+= 1GOTO ÚjraindításEzek elég alapvető kódok. Kísérletezzen velük kedve szerint.

12. lépés: Következtetés: Záró megjegyzések

Fú. Rengeteget fedeztünk ebben az oktatható anyagban. Ez háromszor hosszabb, mint az utolsó. Remélem, élvezni fogja! Csak néhány emlékeztető, mielőtt elindulok. Ne feledje: Változó beállításakor soha ne tegyen szóközt a változó és értéke közé. IGEN:

SET változó1 = ÉrtékA felesleges hely miatt a változó üres lesz. NEM

SET változó1 = ÉrtékTovábbá a többszörös IF -k. Ne felejtse el megfelelően formázni a zárójelet: IGEN

HA 1 == 1 (ECHO One egyenlő egy!) MÁS (ECHO Valami & aposs baj ezzel a programmal.)NEM

HA 1 == 1 (ECHO One egyenlő egy!) MÁSEmellett vannak beépített változók is

%CD %% DATE %% TIME %% RANDOM%% CD% Kibontás az aktuális könyvtárba. Alapvetően az első>% DATE% és% TIME% mögötti út a dátum és az idő. A% RANDOM% véletlenszerű számot ad 0 és 32767 között. Szerintem a tartomány nem változtatható. És alapvetően ez az! Remélem, tetszett ez az oktatható, nagyon keményen dolgoztam rajta. Remélhetőleg ez pótolja a 10 hónapos távollétet. Most a rossz hír. Az elkövetkezendő hónapokban egy kis problémával fogok válaszolni minden kérdésre, mert külföldön leszek. De ha kérdése van, hagyjon megjegyzést bárki számára. Ha mégis hozzájutok egy számítógéphez, biztosan válaszolok, de nem hiszem, hogy erre szükség lenne; Az Instructables egy barátságos közösség, és biztos vagyok benne, hogy valaki kint segít majd a helyzetében. Boldog adagolást!

Ajánlott: