Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

FOR — организация цикличСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Команда FOR ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΈΠ· Π½Π°Π±ΠΎΡ€Π°. Π’ качСствС элСмСнтов ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, Π½Π°Π±ΠΎΡ€Ρ‹ строк.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

FOR %пСрСмСнная IN (Π½Π°Π±ΠΎΡ€) DO ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹]

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

%пСрСмСнная — ΠžΠ΄Π½ΠΎΠ±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΉ подставляСмый ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.

(Π½Π°Π±ΠΎΡ€) — ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€, состоящий ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

ΠΊΠΎΠΌΠ°Π½Π΄Π° — Команда, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ слСдуСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π½Π°Π±ΠΎΡ€Π°.

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ — ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, выполняСмой ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ элСмСнтам Π½Π°Π±ΠΎΡ€Π°.

. Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FOR ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ запись

%%пСрСмСнная вмСсто %пСрСмСнная. ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ рСгистр Π±ΡƒΠΊΠ² (%i отличаСтся ΠΎΡ‚ %I).

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FOR:

FOR /D %пСрСмСнная IN (Π½Π°Π±ΠΎΡ€) DO ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹]

ΠšΠ»ΡŽΡ‡ /D Π·Π°Π΄Π°Π΅Ρ‚ Π² качСствС Π½Π°Π±ΠΎΡ€Π° ΠΈΠΌΠ΅Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² (Π½Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²).

FOR /R [[диск:]ΠΏΡƒΡ‚ΡŒ] %пСрСмСнная IN (Π½Π°Π±ΠΎΡ€) DO ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹]

ΠšΠ»ΡŽΡ‡ /R Π·Π°Π΄Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° [диск:]ΠΏΡƒΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для всСх ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² этого ΠΏΡƒΡ‚ΠΈ. Если послС ΠΊΠ»ΡŽΡ‡Π° /R Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Если Π½Π°Π±ΠΎΡ€ — это ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ символ Ρ‚ΠΎΡ‡ΠΊΠΈ (.), ΠΊΠΎΠΌΠ°Π½Π΄Π° просто пСрСчисляСт Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

FOR /L %пСрСмСнная IN (Π½Π°Ρ‡Π°Π»ΠΎ,шаг,ΠΊΠΎΠ½Π΅Ρ†) DO ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹]

ΠšΠ»ΡŽΡ‡ /L Π·Π°Π΄Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π°Π±ΠΎΡ€Π° ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ чисСл с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π°Ρ‡Π°Π»ΠΎΠΌ, ΠΊΠΎΠ½Ρ†ΠΎΠΌ ΠΈ шагом приращСния. Π’Π°ΠΊ, Π½Π°Π±ΠΎΡ€ (1,1,5) раскрываСтся Π² (1 2 3 4 5), Π° Π½Π°Π±ΠΎΡ€ (5,-1,1) — Π² (5 4 3 2 1)

FOR /F [«ΠΊΠ»ΡŽΡ‡ΠΈ»] %пСрСмСнная IN (Π½Π°Π±ΠΎΡ€-Ρ„Π°ΠΉΠ»ΠΎΠ²) DO ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹]

FOR /F [«ΠΊΠ»ΡŽΡ‡ΠΈ»] %пСрСмСнная IN («ΡΡ‚Ρ€ΠΎΠΊΠ°») DO ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹]

FOR /F [«ΠΊΠ»ΡŽΡ‡ΠΈ»] %пСрСмСнная IN (‘ΠΊΠΎΠΌΠ°Π½Π΄Π°’) DO ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹]

ΠšΠ»ΡŽΡ‡ /F Π·Π°Π΄Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ², строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² стандартного Π²Ρ‹Π²ΠΎΠ΄Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Набор Ρ„Π°ΠΉΠ»ΠΎΠ² — содСрТит ΠΈΠΌΠ΅Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ, Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° состоит Π² Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠ΅ Π΅Π³ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ строки тСкста ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ подстрок. Π—Π°Ρ‚Π΅ΠΌ вызываСтся Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° «for», ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ каТдая найдСнная подстрока ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠ»ΡŽΡ‡ /F выдСляСт ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ подстроку. ΠŸΡƒΡΡ‚Ρ‹Π΅ строки Π² Ρ„Π°ΠΉΠ»Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «ΠΊΠ»ΡŽΡ‡ΠΈ» слуТит для пСрСопрСдСлСния ΠΏΡ€Π°Π²ΠΈΠ» Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Он прСдставляСт собой Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ строку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов для опрСдСлСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π°Π·Π±ΠΎΡ€Π°. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова:

eol=символ — Π·Π½Π°ΠΊ Π½Π°Ρ‡Π°Π»Π° коммСнтария Π² ΠΊΠΎΠ½Ρ†Π΅ строки ( ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠ½Ρ†Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… строки). ЗадаСтся Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠ³ΠΎ символа.

skip=n — число пропускаСмых ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ строк ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π°.

delims=xxx — Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ элСмСнтами строк. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π² качСствС Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Π·Π½Π°ΠΊΠΈ табуляции.

tokens=x,y,m-n — Π½ΠΎΠΌΠ΅Ρ€Π° подстрок ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° «for» для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. НапримСр, для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ тСкстового Ρ„Π°ΠΉΠ»Π°, подстроками Π±ΡƒΠ΄ΡƒΡ‚ слова, Π° раздСлитСлями подстрок — ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠΈ табуляции. ΠŸΡ€ΠΈ использовании этого ΠΊΠ»ΡŽΡ‡Π° Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ€ΠΌΠ°Ρ‚

m-n прСдставляСт собой Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ подстрок с Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΎΡ‚ m ΠΏΠΎ n. Если послСдний Π·Π½Π°ΠΊ Π² строкС tokens= являСтся Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΎΠΉ, Ρ‚ΠΎ создаСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ пСрСмСнная, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ вСсь ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΉΡΡ тСкст Π² строкС послС Ρ€Π°Π·Π±ΠΎΡ€Π° послСднСй подстроки.

usebackq — Ρ€Π΅ΠΆΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ. Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, выполняСтся ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°, строка, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π² прямыС ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, являСтся строкой символов, Π° Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для задания ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², содСрТащих ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹.

ΠŸΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

FOR /F «eol=; tokens=2,3* delims=, » %i in (myfile.txt) do @echo %i %j %k

ВыполняСтся Ρ€Π°Π·Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»Π° myfile.txt. ВсС строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с символа Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой (eol=; ), ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. Вторая ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ подстроки ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ( tokens=2,3 ) ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° «for», ΠΏΡ€ΠΈΡ‡Π΅ΠΌ подстроки Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запятыми ΠΈ/ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. Π’ Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° пСрСмСнная %i ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ подстроки, %j — Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ, Π° %k — всС ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ ΠΏΠΎΠ»Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки послС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ подстроки . ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ², содСрТащиС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ usebackq, ΠΈΠ½Π°Ρ‡Π΅ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ восприняты ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ строки-Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° для Ρ€Π°Π·Π±ΠΎΡ€Π°.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ пСрСмСнная %i явно объявлСна Π² инструкции «for», Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ %j ΠΈ %k ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ нСявно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π° tokens= . ΠšΠ»ΡŽΡ‡ tokens= позволяСт ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ строки Ρ„Π°ΠΉΠ»Π° Π΄ΠΎ 26 подстрок. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… FOR ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠ±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹ΠΌΠΈ, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра, поэтому ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 52 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠ°ΠΊ явно, Ρ‚Π°ΠΊ ΠΈ нСявно.

Команда FOR /F

ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ явно Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строки, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² скобках. Она Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Π° Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ одиночная строка, считанная ΠΈΠ· Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

Π’ качСствС ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°, Ρ‚Π°ΠΊΠΆΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π²Ρ‹Π²ΠΎΠ΄ ( Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ) Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ этом случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² скобках строка Π² ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… . Π­Ρ‚Π° строка пСрСдаСтся для выполнСния Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ CMD.EXE, Π° Π²Ρ‹Π²ΠΎΠ΄ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сохраняСтся Π² памяти ΠΈ разбираСтся Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ это Π±Ρ‹Π» Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

FOR /F «usebackq delims==» %i IN (`set`) DO @echo %i,

ВыполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° SET, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° FOR /F Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ echo .

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ FOR Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС ссылок Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ДопускаСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… синтаксичСских конструкций:

%~I — ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ %I ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°ΠΌΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ («)
%~fI — пСрСмСнная %I Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°
%~dI — ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ %I выдСляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя диска
%~pI — ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ %I выдСляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ
%~nI — ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ %I выдСляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя Ρ„Π°ΠΉΠ»Π°

%~xI — ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ %I выдСляСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°
%~sI — ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°
%~aI — пСрСмСнная %I Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π΄ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„Π°ΠΉΠ»Π°
%~tI — пСрСмСнная %I Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π΄ΠΎ Π΄Π°Ρ‚Ρ‹ /Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°
%~zI — пСрСмСнная %I Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π°
%~$path:I — проводится поиск ΠΏΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды path, ΠΈ пСрСмСнная %I замСняСтся Π½Π° ΠΏΠΎΠ»Π½ΠΎΠ΅ имя ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Если пСрСмСнная path Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΈΠ»ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ поиска Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», Ρ‚ΠΎ этот ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ замСняСтся Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку.

ΠŸΡ€ΠΈ объСдинСнии Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

~dpI — пСрСмСнная I раскрываСтся Π² имя диска ΠΈ ΠΏΡƒΡ‚ΡŒ
~nxI — пСрСмСнная I раскрываСтся Π² имя Ρ„Π°ΠΉΠ»Π° ΠΈ Π΅Π³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅
~fsI — пСрСмСнная I раскрываСтся Π² ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ
~dp$path:I — проводится поиск ΠΏΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды path, ΠΈ пСрСмСнная I раскрываСтся Π² имя диска ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ.
~ftzaI — пСрСмСнная I раскрываСтся Π² строку, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ DIR

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ I ΠΈ path ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ допустимыС значСния. БинтаксичСская конструкция с символами ~ заканчиваСтся допустимым ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π° FOR.

Для ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ —I, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ эту ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ для чтСния ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ΅ принятиС ΠΈΡ… Π·Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ рСгистр.

ΠŸΡ€ΠΈ использовании ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FOR Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…, Ссли Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² скобки:

FOR %пСрСмСнная IN (Π½Π°Π±ΠΎΡ€) DO (
ΠΊΠΎΠΌΠ°Π½Π΄Π°1 [ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹]
ΠΊΠΎΠΌΠ°Π½Π΄Π°2
. . .
)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

@echo OFF
for /L %%I in (1,1,5) DO (
echo FIRST%%I
ECHO LAST%%I
)

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π°

FOR ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π°Π·Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ ΠΈ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° FOR. И здСсь Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° — измСнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π΅ происходит, Ρ‚.Π΅. ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ПодобноС явлСниС Π²Ρ‹Π·Π²Π°Π½ΠΎ Π½Π΅ логичСскими прСдпосылками, Π° всСго лишь ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ особСнностями Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ процСссора CMD.EXE, ΠΈ это Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ FOR ΠΈ IF. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, использованиС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ измСнСния стандартного Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ процСссора. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска CMD.EXE с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ /V:ON, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ символа Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° (!) Π² качСствС раздСлитСля. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ /V:ON Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ !var! Π² качСствС значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ var Π²ΠΎ врСмя выполнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ FOR ΠΈ IF. Но Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ локального Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ:

Setlocal EnableDelayedExpansion

ПослС Ρ‡Π΅Π³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ значСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ вмСсто Π·Π½Π°ΠΊΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ. БинтаксичСски, использованиС ΠΎΠ±ΠΎΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ допускаСтся, Π½ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ этого использования Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ наглядно дСмонстрируСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ:

Setlocal EnableDelayedExpansion
@ECHO OFF
set VAR=before
if «%VAR%» == «before» (
set VAR=after
if «!VAR!» == «after» @echo Π‘ΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°=%VAR% , Π‘ΠΎ Π·Π½Π°ΠΊΠΎΠΌ вопроса=!VAR!
)

Команда set VAR=after выполняСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ скобками ΠΈ, Ссли ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Setlocal EnableDelayedExpansion ΠΈΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для получСния значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ VAR Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ, Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ останСтся старым ( Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ установлСно Π΄ΠΎ Π²Ρ…ΠΎΠ΄Π° Π² Ρ†ΠΈΠΊΠ» ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FOR ).

Данная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ процСссора Windows Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΏΡ€ΠΈ использовании Π³Ρ€ΡƒΠΏΠΏ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… скобками Π² конструкциях FOR ΠΈ IF ΠΈ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ измСняСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° с ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. НапримСр, для получСния списка Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚:

set LIST=
for %%i in (*) do set LIST=%LIST% %%i
echo %LIST%

Π’Ρ€ΠΎΠ΄Π΅ Π±Ρ‹, логичСски всС Π²Π΅Ρ€Π½ΠΎ, Π½ΠΎ Π½Π΅ ΡƒΡ‡Ρ‚Π΅Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ LIST Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FOR ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, ΠΎΠ½ΠΎ останСтся пустым ( Π·Π°Π΄Π°Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ SET LIST= ), ΠΊΠ°ΠΊΠΈΠΌ ΠΈ Π±Ρ‹Π»ΠΎ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° FOR. Команда SET LIST= %LIST% %%I Π΄ΠΎΠ»ΠΆΠ½Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ LIST Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅, плюс символ ΠΏΡ€ΠΎΠ±Π΅Π»Π°, ΠΈ плюс Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ I, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. БинтаксичСски, ΠΊΠΎΠΌΠ°Π½Π΄Π° вСрная, Π½ΠΎ ΠΈΠ·-Π·Π° ΠΎΠ·Π²ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ особСнности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ процСссора — Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ LIST Π½Π΅ измСняСтся. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄:

Setlocal EnableDelayedExpansion
set LIST=
for %%i in (*) do set LIST=!LIST! %%i
echo %LIST%

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ LIST Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° FOR Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ принимая значСния ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ( set LIST=!LIST! %%i).

Π­Ρ‚Ρƒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ CMD Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ использовании Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ систСмных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ERRORLEVEL:

IF !ERRORLEVEL!==0 вмСсто %ERRORLEVEL%==0

Π’Π΅ΡΡŒ список ΠΊΠΎΠΌΠ°Π½Π΄ CMD Windows

Π£Ρ€ΠΎΠΊ 9 ΠΏΠΎ CMD — Ρ†ΠΈΠΊΠ» for, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСкстовых строк

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотри ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†ΠΈΠΊΠ» ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки for для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстовых строк ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ΡƒΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ /f, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ мСняСт Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΠΊΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строи (cmd) for ΠΈ позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Π±ΠΎΡ€ любого тСкста ΠΏΠΎ ΠΏΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌ, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ…

Π¦ΠΈΠΊΠ» cmd for – ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° тСкста

Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста ΠΈΠ»ΠΈ содСрТимого тСкстового Ρ„Π°ΠΉΠ»Π° примСняСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ конструкция:

for /f [«ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹»] %%пСрСмСнная in (источник) do (ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€)

Π’ΡƒΡ‚ β€œΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹β€ Π·Π°Π΄Π°ΡŽΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ поиска, ΠΌΡ‹ ΠΈΡ… рассмотрим Π½ΠΈΠΆΠ΅, β€œΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊβ€ – Ρ‚ΡƒΡ‚ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΊ тСкстовому Ρ„Π°ΠΉΠ»Ρƒ, ΠΈΠ»ΠΈ тСкст, ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄, β€œΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€β€ – Ρ‚ΡƒΡ‚ собствСнно, находятся ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста. Π‘Π°ΠΌ тСкст ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π² качСствС источника.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€œΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹β€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

eol – позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠ½Ρ†Π΅Π²ΠΎΠ³ΠΎ коммСнтария (end-of-line comment character). Π’Π΅ΡΡŒ тСкст, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ послС Π½Π΅Π³ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π·Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,β€œeol=#” – Ρ‚ΡƒΡ‚ символ # являСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅Π²ΠΎΠ³ΠΎ коммСнтария. БобствСнно, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ.

skip – позволяСт Π² Ρ†ΠΈΠΊΠ»Π΅ cmd for Π·Π°Π΄Π°Ρ‚ΡŒ количСство строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, счСт ΠΈΠ΄Π΅Ρ‚ с Π½Π°Ρ‡Π°Π»Π° Ρ„Π°ΠΉΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€œskip=10” – Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ строки ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π΄ΠΎ дСсятой.

delims – ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ строки Π½Π° подстроки. Π’Π°ΠΊ, стандартными раздСлитСлями являСтся ΠΏΡ€ΠΎΠ±Π΅Π» ΠΈ символ табуляции. НапримСр, β€œdelims=,.:” – Ρ‚ΡƒΡ‚ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ запятыС, Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ двоСточия ΡΠ²Π»ΡΡŽΡ‚Β­ΡΡ раздСлитСлями.

tokensΒ  — Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ стоки Ρ†ΠΈΠΊΠ»Π° for cmd позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΠΎΠ»Π΅ΠΉ строки, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ тСкста, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ†ΠΈΠΊΠ». ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ поля Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ЀактичСски, Ссли ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ слово строки ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт, Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ tokens позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ слова ΠΏΠΎ счСту Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, стандартным Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ являСтся ΠΏΡ€ΠΎΠ±Π΅Π» ΠΈ табуляция.

Для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠ°ΠΊ ΠΈ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ указываСтся латинская Π±ΡƒΠΊΠ²Π°, большая ΠΈΠ»ΠΈ малСнькая. ЗначСния ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· запятыС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€œtokens=1,4, 9” – ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ, Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ ΠΈ дСвятый элСмСнт, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€œtokens=4-11” – с Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ ΠΏΠΎ ΠΎΠ΄ΠΈΠ½Π½Π°Π΄Ρ†Π°Ρ‚Ρ‹ΠΉ. МоТно ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ: β€œtokens=4-10,15,20” – с Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ ΠΏΠΎ дСсятый, Π° Ρ‚Π°ΠΊΠΆΠ΅, пятнадцатый ΠΈ Π΄Π²Π°Π΄Ρ†Π°Ρ‚Ρ‹ΠΉ элСмСнт. Если ΠΌΡ‹ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Π² качСствС послСднСго значСния Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΡƒ, Ρ‚ΠΎ создастся Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° пСрСмСнная, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² сСбС всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты (строки) тСкста.

usebackq – Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ являСтся довольно интСрСсным ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² ΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π’ΠΊΠ»ΡŽΡ‡ΠΈΠ² этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΡƒΡ‚ΠΈ ΠΊ Π½ΠΈΠΌ, ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ (`), ΠΎΠ½ΠΈ находятся Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ символ (~) – для исполняСмых ΠΊΠΎΠΌΠ°Π½Π΄, Π° ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ – для Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… строк.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» cmd for ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½ΠΈΠΌ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» test.txt, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ прописаны Ρ‚Π°ΠΊΠΈΠ΅ строки:

100Β 200Β 300
#это ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ
400Β 500Β 600
10; 20; 30;

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:

@echo off
for /F "eol=#" %%A in (d:\work\test.txt) do echo %%A

На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ функция echo Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚:

100
400
10;

Как Π²ΠΈΠ΄ΠΈΠΌ, строка с ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ Π½Π΅ Π²Ρ‹Π²Π΅Π»Π°ΡΡŒ, Π½ΠΎ ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ строки Π²Ρ‹Π²Π΅Π»ΠΈΡΡŒ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, напишСм Ρ‚Π°ΠΊ:

@echo off
for /F "eol=# tokens=*" %%A in (d:\work\test.txt) do echo %%A

Π‘ΠΈΠ½Π³ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π²Ρ‹Π²Π΅Π»ΠΎ всС строки ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΊΡ€ΠΎΠΌΠ΅ строки с коммСнтариями, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ tokens Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ *, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ всС. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ сцСнарий ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π» ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ запишСм Π² тСкстовый Ρ„Π°ΠΉΠ» Ρ‚Π°ΠΊΠΎΠΉ тСкст:

Ukraina-Kijev-grivna-salo
Rossija-Moskva-rubl-bliny
Belorussija-Minsk-zajec-kartoska
Chechija-Praga-krona-pivo

@echo off
for /f "tokens=1-4 delims=-" %%A in (d:\work\test.txt) do (
(@echo Strana:%%A Stolica:%%B Valuta:%%C Produkt:%%D) & Echo.)

Π’ΡƒΡ‚ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ являСтся Ρ‚ΠΈΡ€Π΅, ΠΈ ΡƒΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ поля строки, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранится Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Как Π²ΠΈΠ΄ΠΈΠΌ, Π² Ρ†ΠΈΠΊΠ»Π΅ for cmd ΠΈΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΈΠ· тСкста, Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ:

Strana:Ukraina Stolica:Kijev Valuta:grivna Produkt:salo

Strana:Rossija Stolica:Moskva Valuta:rubl Produkt:bliny

Strana:Belorussija Stolica:Minsk Valuta:zajec Produkt:kartoska

Strana:Chechija Stolica:Praga Valuta:krona Produkt:pivo

Π― ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ вставил ΠΌΠ΅ΠΆΠ΄Ρƒ строк ΠΏΡƒΡΡ‚ΡƒΡŽ (echo.) Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π±Ρ‹Π»ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ.

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ usebackq:

@echo off
set get_dir=d:\work\hello.txt
for /f "usebackq" %%A in (`echo Hello, Wold ^>^> "%get_dir%"`) do echo OK
type %get_dir%
set get_dir=

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаСм ΠΌΡ‹ выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ: записываСм Ρ„Ρ€Π°Π·Ρƒ β€œHello, Wold” Π² тСкстовый Ρ„Π°ΠΉΠ», ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ содСрТится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ get_dir. Π’ ΠΊΠΎΠ½Ρ†Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ содСрТимоС Ρ„Π°ΠΉΠ»Π° ΠΈ удаляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π—Π½Π°ΡŽ, знаю, ΠΌΠ°Π»ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Π½ΠΈΡ‡Π΅Π³ΠΎ, я ΠΈΡΠΏΡ€Π°Π²Π»ΡŽΡΡŒβ€¦

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for Π² bat-Ρ„Π°ΠΉΠ»Π°Ρ… (technet.microsoft) | windows

Команда FOR Π·Π°Π΄Π°Π΅Ρ‚ запуск Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ мноТСства. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ для Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ взята с сайта Microsoft.

Π Π°Π±ΠΎΡ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:
a) ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π΄Π°Π½Π½Ρ‹Ρ…
b) ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π° for (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ %%G) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π΄Π°Π½Π½Ρ‹Ρ…
c) Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (ΠΈΠ½ΠΎΠ³Π΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ участвуСт %%G, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°)
d) Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ шаги a), b), c), ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ достигнуто ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ†ΠΈΠΊΠ»Π°.
ΠžΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° for описана Π² справкС w2k.

Бинтаксис

for {%пСрСмСнная | %%пСрСмСнная} in (мноТСство) do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]

<>ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

{%пСрСмСнная | %%пСрСмСнная}

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π—Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ %пСрСмСнная для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ %%пСрСмСнная для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… учитываСтся рСгистр ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ %A, %B ΠΈΠ»ΠΈ %C.

(мноТСство)

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π—Π°Π΄Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ тСкстоваых строк, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. Π‘ΠΊΠΎΠ±ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

ΠΊΠΎΠΌΠ°Π½Π΄Π°

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π—Π°Π΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ тСкстовой строки, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (мноТСство).

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ

Π—Π°Π΄Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

/?

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ справки Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.Β 

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ

β€’

ИспользованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for
Команда for ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ нСпосрСдствСнно ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

β€’

ИспользованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°
ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ for.

β€’

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ for пСрСмСнная %пСрСмСнная (ΠΈΠ»ΠΈ %%пСрСмСнная) Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ тСкстовой строкой ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° мноТСство, ΠΏΠΎΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ всС Ρ„Π°ΠΉΠ»Ρ‹ этого мноТСства.

β€’

ИмСна ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² пСрСмСнная ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ рСгистр Π±ΡƒΠΊΠ²Ρ‹, ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π΅ большС 52 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

β€’

Для обозначСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСмСнная ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ†ΠΈΡ„Ρ€ 0–9, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² %0–%9. Для простых ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π²ΠΏΠΎΠ»Π½Π΅ достаточно ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с ΠΎΠ΄Π½ΠΈΠΌ Π·Π½Π°ΠΊΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ %%f.

β€’

Π’ слоТных ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ обозначСния для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСмСнная.

Β 

β€’

Π—Π°Π΄Π°Π½ΠΈΠ΅ мноТСства Ρ„Π°ΠΉΠ»ΠΎΠ²
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ мноТСство ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ нСсколько Π³Ρ€ΡƒΠΏΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ². Для задания Π³Ρ€ΡƒΠΏΠΏ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ подстановочныС Π·Π½Π°ΠΊΠΈ (* ΠΈ ?). Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ мноТСства Ρ„Π°ΠΉΠ»ΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ допустимыми:
(*.doc)
(*.doc *.txt *.me)
(jan*.doc jan*.rpt feb*.doc feb*.rpt)
(ar??1991.* ap??1991.*)

Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° for, ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ мноТСство замСняСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ %пСрСмСнная (ΠΈΠ»ΠΈ %%пСрСмСнная), Π° Π·Π°Ρ‚Π΅ΠΌ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ этого значСния выполняСтся указанная ΠΊΠΎΠΌΠ°Π½Π΄Π°. Π­Ρ‚ΠΎ продолТаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ всС Ρ„Π°ΠΉΠ»Ρ‹ (ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ„Π°ΠΉΠ»ΠΎΠ²), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° мноТСство.

β€’

ИспользованиС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов in ΠΈ do
In ΠΈ do Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for. Если ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΠΈΠ· слов ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ, Π½Π° экран Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ сообщСниС ΠΎΠ± ошибкС.

β€’

ИспользованиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for
Если Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ процСссора Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for.

β€’

Волько ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ
Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ мноТСство содСрТит подстановочныС Π·Π½Π°ΠΊΠΈ (* ΠΈ ?), ΠΊΠΎΠΌΠ°Π½Π΄Π°, указанная Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°, выполняСтся для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° (ΠΊΡ€ΠΎΠΌΠ΅ мноТСства Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅), ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ мноТСство. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис.
for /D {%% | %}пСрСмСнная in (мноТСство) do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]

β€’

РСкурсивная
ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² с ΠΊΠΎΡ€Π½Π΅ΠΌ Π² [диск:]ΠΏΡƒΡ‚ΡŒ, выполняя ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ for для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² Π΄Π΅Ρ€Π΅Π²Π΅. Если послС ΠΊΠ»ΡŽΡ‡Π° /R Π½Π΅ Π·Π°Π΄Π°Π½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, прСдполагаСтся Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ мноТСство Π·Π°Π΄Π°Π½ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (.), Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° просто пСрСчислит ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π² Π΄Π΅Ρ€Π΅Π²Π΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис.
for /R [[диск:]ΠΏΡƒΡ‚ΡŒ] {%% | %}пСрСмСнная in (мноТСство) do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]

β€’

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ для установки Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния (ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅#), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΠΎΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ прСвысит ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мноТСства (ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅#). /L Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ, сравнив ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅# с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅#. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅# мСньшС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅#, Ρ‚ΠΎ выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π°. Когда пСрСмСнная ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ прСвысит ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅#, командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ». Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ шаг# для пСрСмСщСния Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΡƒΠ±Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. НапримСр, (1,1,5) создаСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Β«1 2 3 4 5Β», Π° (5,-1,1) создаСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Β«5 4 3 2 1Β». Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис.
for /L {%% | %}пСрСмСнная in (ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅#,шаг#,ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅#) do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]

β€’

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ ΠΈ Ρ€Π°Π·Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ²
Π Π°Π·Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, строк ΠΈ содСрТимого Ρ„Π°ΠΉΠ»Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ для опрСдСлСния содСрТимого ΠΈΠ»ΠΈ строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трСбуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния Ρ€Π°Π·Π±ΠΎΡ€Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π° для указания ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π‘Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° ΠΊΠ»ΡŽΡ‡ /F провСряСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€.

Π Π°Π·Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² состоит Π² Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°, строки ΠΈΠ»ΠΈ содСрТимого Ρ„Π°ΠΉΠ»Π°, Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΈ Π΅Π³ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ строки тСкста ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π½Π° ноль ΠΈΠ»ΠΈ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹. Π¦ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ for Π·Π°Ρ‚Π΅ΠΌ вызываСтся с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, установлСнной Π² ΠΌΠ°Ρ€ΠΊΠ΅Ρ€. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ /F ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ элСмСнт ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ΠŸΡƒΡΡ‚Ρ‹Π΅ строки ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ синтаксис.
for /F [«ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π°»] {%% | %}пСрСмСнная lin (ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ²) do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]
for /F [«ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π°»] {%% | %}пСрСмСнная in («Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°») do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]
for /F [«ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π°»] {%% | %}пСрСмСнная in (‘ΠΊΠΎΠΌΠ°Π½Π΄Π°’) do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]

АргумСнт ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ² Π·Π°Π΄Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» открываСтся, считываСтся ΠΈ обрабатываСтся Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ². Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ стандартноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π±ΠΎΡ€Π°, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π°». Π­Ρ‚ΠΎ строка, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, которая содСрТит ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов для указания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Ρ€Π°Π·Π±ΠΎΡ€Π°.

Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ usebackq, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ синтаксисов:
for /F [«usebackqΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π°»] {%% | %}пСрСмСнная in («ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ²») do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]
for /F [«usebackqΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π°»] {%% | %}пСрСмСнная in (‘Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Π°ΡΠ‘Ρ‚Ρ€ΠΎΠΊΠ°’) do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]
for /F [«usebackqΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π°»] {%% | %}пСрСмСнная in (‘ΠΊΠΎΠΌΠ°Π½Π΄Π°’) do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Ρ€Π°Π·Π±ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅Π‘Π»ΠΎΠ²Π°Π Π°Π·Π±ΠΎΡ€Π°.

eol=c

Π—Π°Π΄Π°Π΅Ρ‚ символ ΠΊΠΎΠ½Ρ†Π° строки (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ символ).

skip=N

Π—Π°Π΄Π°Π΅Ρ‚ число строк, пропускаСмых Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»Π°.

delims=xxx

Π—Π°Π΄Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ. ЗамСняСт Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, состоящий ΠΈΠ· ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΈ символа табуляции.

tokens=X,Y,M-N

Π—Π°Π΄Π°Π΅Ρ‚ элСмСнты, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° for ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π€ΠΎΡ€ΠΌΠ° M-N Π·Π°Π΄Π°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ элСмСнты с M-Π³ΠΎ ΠΏΠΎ N-Ρ‹ΠΉ. Если послСдним символом строки tokens= являСтся Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ° (*), Ρ‚ΠΎ размСщаСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ пСрСмСнная, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ помСщаСтся остаток строки послС Ρ€Π°Π·Π±ΠΎΡ€Π° послСднСго элСмСнта.

usebackq

Π—Π°Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ для ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ². Π—Π°Π΄Π°Π΅Ρ‚ исполнСниС строки, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° строки Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… β€” ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² символьной строкС.

β€’

ΠŸΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
Π‘Ρ‹Π»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ подстановок для ссылок Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² for. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° пСрСчисляСт Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ синтаксичСских конструкций (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ I).

%~I

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ %I, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ удаляСт ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ («»).

%~fI

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ %I Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡƒΡ‚ΠΈ.

%~dI

Π—Π°ΠΌΠ΅Π½Π° %I ΠΈΠΌΠ΅Π½Π΅ΠΌ диска.

%~pI

Π—Π°ΠΌΠ΅Π½Π° %I Π½Π° ΠΏΡƒΡ‚ΡŒ.

%~nI

Π—Π°ΠΌΠ΅Π½Π° %I ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°.

%~xI

Π—Π°ΠΌΠ΅Π½Π° %I Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°.

%~sI

Π—Π°ΠΌΠ΅Π½Π° ΠΏΡƒΡ‚Π΅ΠΌ, содСрТащим Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°.

%~aI

Π—Π°ΠΌΠ΅Π½Π° %I Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°.

%~tI

Π—Π°ΠΌΠ΅Π½Π° %I Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°.

%~zI

Π—Π°ΠΌΠ΅Π½Π° %I Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Ρ„Π°ΠΉΠ»Π°.

%~$PATH:I

Поиск Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, пСрСчислСнных Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды PATH, ΠΈ Π·Π°ΠΌΠ΅Π½Π° %I ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Если пСрСмСнная срСды Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΈΠ»ΠΈ поиск Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΏΡƒΡΡ‚ΡƒΡŽ строку.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° пСрСчисляСт ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для получСния Π±ΠΎΠ»Π΅Π΅ слоТных Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

%~dpI

Π—Π°ΠΌΠ΅Π½Π° %I ΠΈΠΌΠ΅Π½Π΅ΠΌ диска ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ.

%~nxI

Π—Π°ΠΌΠ΅Π½Π° %I ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π° ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ.

%~fsI

Π—Π°ΠΌΠ΅Π½Π° %I ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡƒΡ‚ΠΈ с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.

%~dp$PATH:I

Поиск Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, пСрСчислСнных Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды PATH, ΠΈ Π·Π°ΠΌΠ΅Π½Π° %I ΠΈΠΌΠ΅Π½Π΅ΠΌ диска ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

%~ftzaI

Π—Π°ΠΌΠ΅Π½Π° %I строкой, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ dir.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… %I ΠΈ PATH ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ допустимыми значСниями. ДопустимоС имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ for ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ синтаксис %~.

ИспользованиС прописных Π±ΡƒΠΊΠ² Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ %I, ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ восприятиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π΄ΠΎΡ€Π°Π·ΡƒΠΌΠ΅Π½ΠΈΠΉ с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… строчныС ΠΈ прописныС Π±ΡƒΠΊΠ²Ρ‹ Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ.

β€’

Π Π°Π·Π±ΠΎΡ€ строки
ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ for /F ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована нСпосрСдствСнно для строки. Для этого помСститС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ скобками Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ (‘ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ²’). ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ воспринят ΠΊΠ°ΠΊ одиночная строка Π²Π²ΠΎΠ΄Π° ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½.

β€’

Π Π°Π·Π±ΠΎΡ€ Π²Ρ‹Π²ΠΎΠ΄Π°
ΠšΠΎΠΌΠ°Π½Π΄Ρƒ for /F ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Π±ΠΎΡ€Π° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Для этого помСститС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ скобками Π² ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Он Π±ΡƒΠ΄Π΅Ρ‚ воспринят ΠΊΠ°ΠΊ командная строка, которая пСрСдаСтся Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌΡƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Cmd.exe, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² памяти ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ΠΈ являлись Ρ„Π°ΠΉΠ»ΠΎΠΌ.

[ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹]

Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for:
for %%пСрСмСнная in (мноТСство) do ΠΊΠΎΠΌΠ°Π½Π΄Π° [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠšΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠ‘Ρ‚Ρ€ΠΎΠΊΠΈ]

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ содСрТимоС всСх Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ DOC ΠΈΠ»ΠΈ TXT, Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ замСняСмой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ %f, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
for %%f in (*.doc *.txt) do type %%f

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .doc ΠΈΠ»ΠΈ .txt Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ вмСсто ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ %f, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ содСрТимоС всСх Ρ„Π°ΠΉΠ»ΠΎΠ². Для использования этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ %f Π½Π° %%Π°. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС пСрСмСнная игнорируСтся ΠΈ выводится сообщСниС ΠΎΠ± ошибкС.

Π§Ρ‚ΠΎΠ±Ρ‹ произвСсти Ρ€Π°Π·Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»Π°, игнорируя ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
for /F «eol=; tokens=2,3* delims=,» %i in (myfile.txt) do @echo %i %j %k

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π·Π±ΠΎΡ€ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² Ρ„Π°ΠΉΠ»Π΅ Myfile.txt, игнорируя строки, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ элСмСнты ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FOR. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ запятыми ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. Π’Π΅Π»ΠΎ инструкции FOR ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ %i для получСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта, %j для получСния Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ элСмСнта ΠΈ %k для получСния ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ элСмСнтов Π² строкС. Если ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² содСрТат ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, ΠΈΡ… слСдуСт Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, «Π˜ΠΌΡΠ€Π°ΠΉΠ»Π°»). Для использования ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° usebackq. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ символьной строки для Ρ€Π°Π·Π±ΠΎΡ€Π°.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ %i объявлСна явно Π² инструкции FOR. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ %j ΠΈ %k ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ явно ΠΏΡ€ΠΈ использовании tokens=. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ tokens= ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΎ 26 элСмСнтов, Ссли это Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ, большим Π±ΡƒΠΊΠ²Ρ‹ «z» ΠΈΠ»ΠΈ «Z».

Для Ρ€Π°Π·Π±ΠΎΡ€Π° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ помСщСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎΠ˜ΠΌΠ΅Π½Π€Π°ΠΉΠ»ΠΎΠ² Π² скобки ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список ΠΈΠΌΠ΅Π½ всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния):
for /F «usebackq delims==» %i IN (`set`) DO @echo %i

Π˜Ρ‰Π΅ΠΌ Π² дирСкториях Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ html содСрТащиС строку google:
for /R %%f in (*.html) do @findstr /m «google» %%f

FOR /L
Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° чисСл
Бинтаксис
FOR /L %%parameter IN (start,step,end) DO command
Π“Π΄Π΅
Β Β  startΒ  Β  Β  ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ)
Β Β  step Β  Β  Β  ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ числа для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ шага
Β Β  endΒ  Β  Β  Β  послСднСС число (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ)
Β Β  commandΒ  Β  выполняСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°, здСсь ΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для Π½Π΅Ρ‘
Β Β  %%parameter измСняСмый ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ (пСрСмСнная Ρ†ΠΈΠΊΠ»Π°)

Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ %%G, Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС %G (Ρ‚Π°ΠΊΠΈΠ΅ ΡƒΠΆ ΠœΠΈΠΊΡ€ΠΎΡΠΎΡ„Ρ‚ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» ΠΏΡ€Π°Π²ΠΈΠ»Π°). (20,-5,10) Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 20 15 10, Π° (1,1,5) ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 1 2 3 4 5.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€
FOR /L %%G IN (1,1,5) DO echo %%G

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСчисловой список, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:
FOR %%G IN (Sun Mon Tue Wed Thur Fri Sat) DO echo %%G

[Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ for]

FOR — Ρ†ΠΈΠΊΠ» ΠΏΠΎ всСм Ρ„Π°ΠΉΠ»Π°ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Ρ‘ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ)
FOR /R — Ρ†ΠΈΠΊΠ» ΠΏΠΎ всСм Ρ„Π°ΠΉΠ»Π°ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ
FOR /D — Ρ†ΠΈΠΊΠ» Ρ‡Π΅Ρ€Π΅Π· нСсколько ΠΏΠ°ΠΏΠΎΠΊ
FOR /F — Ρ†ΠΈΠΊΠ» Ρ‡Π΅Ρ€Π΅Π· слова Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

syntax-FOR-Files
Β Β  Β  FOR %%parameter IN (set) DO command
syntax-FOR-Files-Rooted at Path
Β Β  Β  FOR /R [[drive:]path] %%parameter IN (set) DO command
syntax-FOR-Folders
Β Β  Β  FOR /D %%parameter IN (folder_set) DO command
syntax-FOR-List of numbers
Β Β  Β  FOR /L %%parameter IN (start,step,end) DO command
syntax-FOR-File contents
Β Β  Β  FOR /F [«options»] %%parameter IN (filenameset) DO command
Β Β  Β  FOR /F [«options»] %%parameter IN («Text string to process») DO command
syntax-FOR-Command Results
Β Β  Β  FOR /F [«options»] %%parameter IN (‘command to process’) DO command

[БвязанныС с for ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹]

FORFILES (w2003 Server) — Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° списка Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ для отобраТСния ΠΈΠ»ΠΈ использования ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π² bat-Ρ„Π°ΠΉΠ»Π΅
GOTO ΠΌΠ΅Ρ‚ΠΊΠ° — прямой ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° строку Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½ΡƒΡŽ строкой :ΠΌΠ΅Ρ‚ΠΊΠ°
IF — условноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

[Equivalent Linux BASH commands]

for — Expand words, and execute commands
case — Conditionally perform a command
eval — Evaluate several commands/arguments
if — Conditionally perform a command
gawk — Find and Replace text within file(s)
m4 — Macro processor
until — Execute commands (until error)
while — Execute commandsΒ 

[УсловныС обозначСния форматирования]

ΠšΡƒΡ€ΡΠΈΠ²

БвСдСния, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

ΠŸΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

ΠœΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅ (…)

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС нСсколько Ρ€Π°Π·

Π’ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках ([])

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты

Π’ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках ({}), Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ (|). ΠŸΡ€ΠΈΠΌΠ΅Ρ€: {even|odd}

Набор Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½

Courier font

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅

[Бсылки]

1. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ программирования Π² bat-Ρ„Π°ΠΉΠ»Π°Ρ….

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сразу Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Linux ΡΡ‚Π°Ρ‚ΡŒΠΈ

Π’Β ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Linux ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ сразу нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ Π²Β ΠΎΠ΄Π½Ρƒ строку (Π²Β ΠΎΠ΄ΠΈΠ½ запуск). НапримСр, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сначала ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π·Π°Β Π½Π΅ΠΉ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΈΒ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Но вы хотитС сразу Π²Π±ΠΈΡ‚ΡŒ Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΎΠ΄Π½Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, которая всС сдСлаСт. Для этого ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ слуТСбными символами.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

НапримСр, ΠΌΡ‹Β Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сначала ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Π—Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ (Π²Π΅Ρ€Π½Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Β ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку), Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Для этого слуТит символ Ρ‚ΠΎΡ‡ΠΊΠ° с запятой ;. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π²Ρ‹Β Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π²Β Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

mycommand1; mycommand2; mycommand3

то сначала запустится пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π° mycommand1, Π°Β ΠΊΠΎΠ³Π΄Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрнСтся Π²Β Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», то запустится вторая ΠΈΒ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Для тСста ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (Π²Β Ubuntu):

gnome-terminal; gedit

Π­Ρ‚ΠΎ называСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄. Π’Π½Π΅ зависимости ΠΎΡ‚Β Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡŒ прСдыдущая ΠΊΠΎΠΌΠ°Π½Π΄Π°, вторая ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ. МоТно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ в зависимости ΠΎΡ‚Β Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° прСдыдущая для этого слуТат символы &&Β ΠΈ ||.

ЗависимоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ &&Β ΠΈ || ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π½Π΅Β Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅Β Π˜ ΠΈΒ Π˜Π›Π˜. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹Β ΠΏΠΈΡˆΠ΅ΠΌ:

mycommand1 && mycommand2 && mycommand3

то это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° mycommand2 Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Β Ρ‚ΠΎΠΌ случаС, Ссли ΠΊΠΎΠΌΠ°Π½Π΄Π° mycommand1 Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. КаТдая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ.

Если Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

mycommand1 || mycommand2 || mycommand3

Ρ‚ΠΎΒ ΠΊΠΎΠΌΠ°Π½Π΄Π° mycommand2 Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ссли mycommand1 Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ. КаТдая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° запускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли прСдыдущая Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ: ОБ Linux β€’ Π Π°Π·Π½ΠΎΠ΅

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ сразу нСсколько ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΎΠ΄Π½Ρƒ строку (Π² ΠΎΠ΄ΠΈΠ½ запуск). НапримСр, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сначала ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π·Π° Π½Π΅ΠΉ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Но Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ сразу Π²Π±ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΎΠ΄Π½Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, которая всС сдСлаСт.

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ

НапримСр, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сначала ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Π—Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ (Π²Π΅Ρ€Π½Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку), Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Для этого слуТит символ Β«;Β». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:

$ command1; command2; command3

Ρ‚ΠΎ сначала запустится пСрвая ΠΊΠΎΠΌΠ°Π½Π΄Π° command1, Π° ΠΊΠΎΠ³Π΄Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрнСтся Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», Ρ‚ΠΎ запустится вторая ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ЗависимоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ && ΠΈ || ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π½Π΅ Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ логичСскоС И ΠΈ Π˜Π›Π˜. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ пишСм:

$ command1 && command2 && command3

Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° command2 Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΊΠΎΠΌΠ°Π½Π΄Π° command1 Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ (Π²Π΅Ρ€Π½ΡƒΠ»Π° Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ). КаТдая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ.

Если ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ 0 β€” это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ИБВИНА, любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это ΠΊΠΎΠ΄ ошибки) β€” Π›ΠžΠ–Π¬.

Если ΠΌΡ‹ пишСм:

$ command1 || command2 || command3

Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° command2 Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаСт, Ссли command1 Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ (Π½Π΅ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ). КаТдая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° запускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли прСдыдущая Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ просто: интСрпрСтируя И Π½Π΅Ρ‚ смысла Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ссли пСрвая Π²Π΅Ρ€Π½ΡƒΠ»Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ. А интСрпрСтируя Π˜Π›Π˜ Π½Π΅Ρ‚ смысла Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ссли пСрвая Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡŒ с успСхом.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

$ sort bigdata > /tmp/sorted && mv /tmp/sorted > bigdata

Π­Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΊΠΎΠ΄Π°:

if sort bigdata > /tmp/sorted ; then
    mv /tmp/sorted > bigdata
fi

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ && ΠΈ || ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:

$ who | grep "^$name " > /dev/null && echo "$name logged on" || echo "$name not logged on"

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° echo выполняСтся ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ grep, Π° вторая β€” ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ.

Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² условиях if:

if command1 && command2 ; then
    command3
fi

ОбС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ (логичСская опСрация И), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° command3. Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Ρ‚Π°ΠΊ:

$ command1 && command2 && command3

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования:

if command1 || command2 ; then
    command3
fi

Π₯отя Π±Ρ‹ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ (логичСская опСрация Π˜Π›Π˜), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° command3. Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Ρ‚Π°ΠΊ:

$ command1 || command2 && command3

Поиск: BashΒ β€’ CLIΒ β€’ LinuxΒ β€’ Команда

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой β€” ДокумСнтация Руководство ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Windows 18.08.2015

Командная строка позволяСт Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Вводя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ ΠΌΡ‹ΡˆΡŒΡŽ ΠΈΠ»ΠΈ сСнсорным Π²Π²ΠΎΠ΄ΠΎΠΌ.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ пСрСчислСны Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Windows.

Запуск ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Для запуска ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… способов:

  • Β«ΠŸΡƒΡΠΊ β†’ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ» (ΠΈΠ»ΠΈ клавиши Win+R) Π²Π²Π΅Π΄ΠΈΡ‚Π΅ cmd ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Enter;
  • Β«ΠŸΡƒΡΠΊ β†’ ВсС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β†’ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ β†’ Командная строка»;
  • Β«ΠŸΡƒΡΠΊ β†’ Поиск β†’ Командная строка».

Π’Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ вводятся посрСдством Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° help Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список всСх доступных ΠΊΠΎΠΌΠ°Π½Π΄. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Бписок ΠΊΠΎΠΌΠ°Π½Π΄ Windows ( Windows CMD ).

Для Π²Ρ‹Π²ΠΎΠ΄Π° справки ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ help Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ основных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΡ… использования ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства.

Bat-Ρ„Π°ΠΉΠ»Ρ‹

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ bat Ρ„Π°ΠΉΠ»Ρ‹,ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с bat Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ рассматриваСтся Π² ΡΡ‚Π°Ρ‚ΡŒΡΡ…:

АвтодополнСниС ΠΏΡƒΡ‚Π΅ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ вСсь ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ клавиша Tab Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. Она автодополняСт названия Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ввСсти Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ User, достаточно ввСсти ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Tab, Π±ΡƒΠ΄Π΅Ρ‚ подставлСно ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Если Π½Π° Π±ΡƒΠΊΠ²Ρƒ U начинаСтся нСсколько Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Tab Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π½Π°Π·Π²Π°Π½ΠΈΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ произвСсти ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС, Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡ‚Π΅ Tab c Π·Π°ΠΉΠΆΠ°Ρ‚ΠΎΠΉ клавишСй Shift.

Если ΠΏΠ°ΠΏΠΊΠ° состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ΠΈΠ»ΠΈ ΠΈΠ· кирилличСских символов, Ρ‚ΠΎ вСсь ΠΏΡƒΡ‚ΡŒ бСрСтся Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, cd "C:\Documents and Settings"

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста Π²/ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

  1. ΠΠ°ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ «Бвойства»;
  2. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ² Β«Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΡŒΡŽΒ» ΠΈ «Быстрая вставка»;

Для копирования тСкста ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки достаточно Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ тСкст ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСкст скопируСтся Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°. Для вставки тСкста Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ.

Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² тСкстовый Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ». ДСлаСтся это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа >, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, systeminfo > C:\Users\mazhartsev\Desktop\test.txt.

Если Ρ„Π°ΠΉΠ» Π½Π΅ сущСствуСт, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ создан. Если сущСствуСт, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ пСрСзаписан. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ >>, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: systeminfo >> C:\Users\mazhartsev\Desktop\test.txt

Π”Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ пСрСнаправлСния.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ пСрСнаправлСния
ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ пСрСнаправлСния
>ЗаписываСт Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ вмСсто ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π½Π° устройство, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€.
<Π§ΠΈΡ‚Π°Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, Π° Π½Π΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.
>>ДобавляСт Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°, Π½Π΅ удаляя ΠΏΡ€ΠΈ этом ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.
>&Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ дСскриптора ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ дСскриптора.
<&Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ дСскриптора ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ дСскриптора.
|Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ записываСт ΠΈΡ… Π½Π° Π²Ρ…ΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π­Ρ‚Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° извСстна ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΠΊΠ°Π½Π°Π»Β».

IF – ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ условного выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Windows

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

IF [NOT] ERRORLEVEL число ΠΊΠΎΠΌΠ°Π½Π΄Π°

IF [NOT] строка1==строка2 ΠΊΠΎΠΌΠ°Π½Π΄Π°

IF [NOT] EXIST имя_Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

NOT — Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Windows Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли условиС являСтся Π»ΠΎΠΆΠ½Ρ‹ΠΌ.

ERRORLEVEL число — УсловиС являСтся истинным, Ссли ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° послСднСй Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ мСньшС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ числа.

строка1==строка2 — УсловиС являСтся истинным, Ссли ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ строки ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚.

EXIST имя_Ρ„Π°ΠΉΠ»Π° — УсловиС являСтся истинным, Ссли Ρ„Π°ΠΉΠ» с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ сущСствуСт.

ΠΊΠΎΠΌΠ°Π½Π΄Π° — Π—Π°Π΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΈ истинности условия. Π—Π° этой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ELSE. Π’ случаС, Ссли ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ условиС Π»ΠΎΠΆΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, находящаяся послС слова ELSE.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ELSE Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π·Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом IF. НапримСр:

IF EXIST имя_Ρ„Π°ΠΉΠ»Π°. (
del имя_Ρ„Π°ΠΉΠ»Π°.
) ELSE (
echo имя_Ρ„Π°ΠΉΠ»Π°. missing.
)

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ содСрТит ΠžΠ¨Π˜Π‘ΠšΠ£, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Π° del Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку:

IF EXIST имя_Ρ„Π°ΠΉΠ»Π°. del имя_Ρ„Π°ΠΉΠ»Π°. ELSE echo имя_Ρ„Π°ΠΉΠ»Π°. Missing

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ содСрТит ΠžΠ¨Π˜Π‘ΠšΠ£, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Π° ELSE Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π·Π° IF:

IF EXIST имя_Ρ„Π°ΠΉΠ»Π°. del имя_Ρ„Π°ΠΉΠ»Π°.
ELSE echo имя_Ρ„Π°ΠΉΠ»Π°. missing
Π’ΠΎΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ располоТСны Π² ΠΎΠ΄Π½ΠΎΠΉ строкС:

IF EXIST имя_Ρ„Π°ΠΉΠ»Π°. (del имя_Ρ„Π°ΠΉΠ»Π°.) ELSE echo имя_Ρ„Π°ΠΉΠ»Π°. Missing

ИзмСнСниС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ IF ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄:

IF [/I] строка1 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€_сравнСния строка2 ΠΊΠΎΠΌΠ°Π½Π΄Π°
IF CMDEXTVERSION число ΠΊΠΎΠΌΠ°Π½Π΄Π°
IF DEFINED пСрСмСнная ΠΊΠΎΠΌΠ°Π½Π΄Π°

Π³Π΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€_сравнСния ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

EQU — Ρ€Π°Π²Π½ΠΎ
NEQ — Π½Π΅ Ρ€Π°Π²Π½ΠΎ
LSS — мСньшС
LEQ — мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ
GTR — большС
GEQ — большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ,

Π° ΠΊΠ»ΡŽΡ‡ /I, Ссли ΠΎΠ½ ΡƒΠΊΠ°Π·Π°Π½, Π·Π°Π΄Π°Π΅Ρ‚ сравнСниС тСкстовых строк Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра. ΠšΠ»ΡŽΡ‡ /I ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅ строка1==строка2 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ IF. БравнСния проводятся ΠΏΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли строки 1 ΠΈ 2 содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹, Ρ‚ΠΎ ΠΎΠ±Π΅ строки ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² числа, послС Ρ‡Π΅Π³ΠΎ выполняСтся сравнСниС чисСл.

УсловиС CMDEXTVERSION примСняСтся ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ERRORLEVEL, Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ сравниваСтся с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ вСрсии Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΠ΅Ρ€Π²Π°Ρ вСрсия ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ 1. НомСр вСрсии Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ сущСствСнных возмоТностСй Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄. Если Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, условиС CMDEXTVERSION Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ истинно.

УсловиС DEFINED примСняСтся ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ EXIST, Π½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли эта пСрСмСнная ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° %ERRORLEVEL% Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Π° Π² строковоС прСдставлСниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния ΠΊΠΎΠ΄Π° ошибки ERRORLEVEL, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ситуации, ΠΊΠΎΠ³Π΄Π° ΡƒΠΆΠ΅ имССтся пСрСмСнная срСды с ΠΈΠΌΠ΅Π½Π΅ΠΌ ERRORLEVEL; Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ случаС подставляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НапримСр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠΉ строки ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

goto answer%ERRORLEVEL%
:answer0
echo ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° 0
:answer1
echo ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° 1

ДопускаСтся ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ описанных Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² числового сравнСния:

IF %ERRORLEVEL% LEQ 1 goto okay

Π‘Ρ‚Ρ€ΠΎΠΊΠ° %CMDCMDLINE% Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Π° Π² ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΡƒΡŽ CMD.EXE Π΄ΠΎ любой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ситуации, ΠΊΠΎΠ³Π΄Π° ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° пСрСмСнная срСды с ΠΈΠΌΠ΅Π½Π΅ΠΌ CMDCMDLINE; Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ случаС подставляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° %CMDEXTVERSION% Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Π° Π² строку, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ собой Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ CMDEXTVERSION, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ситуации, ΠΊΠΎΠ³Π΄Π° ΡƒΠΆΠ΅ имССтся пСрСмСнная срСды с ΠΈΠΌΠ΅Π½Π΅ΠΌ CMDEXTVERSION; Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ случаС подставляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования:

  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ пустого Ρ„Π°ΠΉΠ»Π°, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ задаСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

    Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π΅ Π·Π°Π΄Π°Π½, Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ выдаСтся сообщСниС ΠΎΠ± ошибкС.


    @echo off
    REM ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° %1
    REM Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ %1 пустой – ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΌΠ΅Ρ‚ΠΊΡƒ error
    if «%1» EQU «» goto error
    REM Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π°Π΄Π°Π½, создаСм пустой Ρ„Π°ΠΉΠ», ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ· устройства nul
    copy nul «%1»
    exit
    :error
    ECHO File name required ! Must be — %~n0 filename.ext
    :exit

  • ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ опрос ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ping сСтСвых адрСсов Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ( 192.168.1.1 – 192.168.1.254 ). Команда ping Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ERRORLEVEL Ρ€Π°Π²Π½ΠΎΠ΅ Π½ΡƒΠ»ΡŽ, Ссли Π²Π΅Ρ€Π½ΠΎ Π·Π°Π΄Π°Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΠ½Π³ΡƒΠ΅ΠΌΠΎΠ³ΠΎ IP-адрСса ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ping Π½Π΅ получится, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π»ΠΈ ΠΏΠΈΠ½Π³ΡƒΠ΅ΠΌΠΎΠ΅ устройство, ΠΈΠ»ΠΈ Π½Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присутствуСт Π² Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΏΠΈΠ½Π³ΡƒΠ΅ΠΌΠΎΠ΅ устройство доступно. Π’Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ строки символов «TTL» Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ping. Для опрСдСлСния ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ find Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ping.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Ρ‹Π²ΠΎΠ΄Π° для ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ ΡƒΠ·Π»ΠΎΠ²:

    ΠžΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ 192.168.1.1: число Π±Π°ΠΉΡ‚=32 врСмя=1мс TTL=64 — Ссли устройство с Π΄Π°Π½Π½Ρ‹ΠΌ IP-адрСсом доступно;
    ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» оТидания для запроса. — Ссли устройство Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚;

    Команда find /I «TTL» Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ERRORLEVEL Ρ€Π°Π²Π½Ρ‹ΠΉ 0, Ссли строка «TTL» присутствуСт Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ping. ΠšΠ»ΡŽΡ‡ /I ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ зависил ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, строчныС ΠΈΠ»ΠΈ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ символы ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ строку «ttl».
    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° записываСтся Π² тСкстовый Ρ„Π°ΠΉΠ» iplist.txt

    @ECHO OFF
    REM ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ IP-адрСса
    set IPTMP=192.168.1.
    REM ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠΈΠ½Π³ΡƒΠ΅ΠΌΡ‹Ρ… ΡƒΠ·Π»ΠΎΠ²
    set N=254
    rem Π‘ ΠΊΠ°ΠΊΠΎΠ³ΠΎ адрСса Π½Π°Ρ‡Π°Ρ‚ΡŒ — Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ » хвоста » IP- адрСса X.X.X.IPMIN
    set /A IPMIN=1
    ECHO %DATE% ΠžΠΏΡ€ΠΎΡ ΠΏΠΈΠ½Π³ΠΎΠΌ %N% адрСсов начиная с %IPTMP%%IPMIN% >> iplist.txt
    rem M0 — ΠΌΠ΅Ρ‚ΠΊΠ° для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°
    :M0
    rem ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ IPFULL — ΠΏΠΎΠ»Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ IP-адрСса
    set IPFULL=%IPTMP%%IPMIN%
    rem Если » хвост «Π±ΠΎΠ»ΡŒΡˆΠ΅ N – ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹
    IF %IPMIN% GTR %N% GOTO ENDJOB
    ping -n 1 %IPFULL% | find /I «TTL»
    if %ERRORLEVEL%==0 Echo %IPFULL% >> iplist.txt
    rem Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ IP-адрСс
    set /A IPMIN=%IPMIN% + 1
    rem ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ шага
    GOTO M0
    rem Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹
    :endjob
    exit

    Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° CMD.EXE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² IF ΠΈ FOR. ИспользованиС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ измСнСния стандартного Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ процСссора. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска CMD.EXE с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ /V:ON, Ρ‡Ρ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ символа Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° (!) Π² качСствС раздСлитСля. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ /V:ON Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ !var! Π² качСствС значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ var Π²ΠΎ врСмя выполнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄ FOR ΠΈ IF. Но Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ локального Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ:

    Setlocal EnableDelayedExpansion

    ПослС Ρ‡Π΅Π³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ значСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ вмСсто Π·Π½Π°ΠΊΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ:

    FOR … (
    IF !ERRORLEVEL!==0 вмСсто %ERRORLEVEL%==0
    …
    )

    &nbsp &nbsp Π’ русскоязычной справкС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ IF имССтся ошибка, которая ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· вСрсии Π² Π²Π΅Ρ€ΡΠΈΡŽ — вмСсто ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° EQU — Ρ€Π°Π²Π½ΠΎ, ΡƒΠΊΠ°Π·Π°Π½ΠΎ EQL — Ρ€Π°Π²Π½ΠΎ

    Π’Π΅ΡΡŒ список ΠΊΠΎΠΌΠ°Π½Π΄ CMD Windows

  • ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

    — Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· Windows cmd-скрипта

    ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    1. Около
    2. Π’ΠΎΠ²Π°Ρ€Ρ‹
    3. Для ΠΊΠΎΠΌΠ°Π½Π΄
    1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹
    2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄ Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ
    3. Вакансии ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста
    4. Π’Π°Π»Π°Π½Ρ‚ НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля
    5. Π Π΅ΠΊΠ»Π°ΠΌΠ° ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°
    6. О компании
    .

    .net 2.0 — c # ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² cmd.exe ΠΈ запись Π²Ρ‹Π²ΠΎΠ΄Π° Π² тСкстовый Ρ„Π°ΠΉΠ»

    ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    1. Около
    2. Π’ΠΎΠ²Π°Ρ€Ρ‹
    3. Для ΠΊΠΎΠΌΠ°Π½Π΄
    1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹
    2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄ Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ
    3. Вакансии ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста
    4. Π’Π°Π»Π°Π½Ρ‚ НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля
    5. Π Π΅ΠΊΠ»Π°ΠΌΠ° ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°
    6. О компании
    .

    cmd — ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для открытия Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… строк ΠΈ выполнСния ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ

    ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка
    1. Около
    2. Π’ΠΎΠ²Π°Ρ€Ρ‹
    3. Для ΠΊΠΎΠΌΠ°Π½Π΄
    1. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка ΠžΠ±Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ вопросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹
    2. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ стСка для ΠΊΠΎΠΌΠ°Π½Π΄ Π“Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈ дСлятся частными знаниями с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ
    3. Вакансии ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ связанныС с Π½ΠΈΠΌ тСхничСскиС возмоТности ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½ΠΎΠ³ΠΎ роста
    4. Π’Π°Π»Π°Π½Ρ‚ НанимайтС тСхничСских спСциалистов ΠΈ создавайтС свой Π±Ρ€Π΅Π½Π΄ работодатСля
    5. Π Π΅ΠΊΠ»Π°ΠΌΠ° ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ со всСго ΠΌΠΈΡ€Π°
    6. О компании
    .

    For — Π—Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ — Windows CMD

    For — Π—Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ — Windows CMD — SS64.com

    Условно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ нСсколько Ρ€Π°Π·.

     синтаксис для Ρ„Π°ΠΉΠ»ΠΎΠ²
           FOR %% ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ IN ( Π½Π°Π±ΠΎΡ€ ) DO  ΠΊΠΎΠΌΠ°Π½Π΄Π° 
       
     синтаксис-FOR-Files-Rooted at Path
           Π”Π›Π―  / R  [[диск:] ΠΏΡƒΡ‚ΡŒ] %% ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ IN ( ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ) DO  ΠΊΠΎΠΌΠ°Π½Π΄Π° 
       
     синтаксис для ΠΏΠ°ΠΏΠΎΠΊ
           Π”Π›Π―  / D  %% ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ IN ( folder_set ) DO  ΠΊΠΎΠΌΠ°Π½Π΄Π° 
       
     синтаксис-FOR-список чисСл
           Π”Π›Π―  / L  %% ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ IN (Π½Π°Ρ‡Π°Π»ΠΎ, шаг, ΠΊΠΎΠ½Π΅Ρ†) DO  ΠΊΠΎΠΌΠ°Π½Π΄Π° 
       
     синтаксис-Π”Π›Π―-содСрТимого Ρ„Π°ΠΉΠ»Π°
           Π”Π›Π―  / F  ["ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹"] %% ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ IN (Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ²) DO  ΠΊΠΎΠΌΠ°Π½Π΄Π° 
       
           FOR  / F  ["ΠΎΠΏΡ†ΠΈΠΈ"] %% ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ IN ("ВСкстовая строка для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ") DO  ΠΊΠΎΠΌΠ°Π½Π΄Π° 
       
     синтаксис-FOR-Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
           FOR  / F  ["ΠΎΠΏΡ†ΠΈΠΈ"] %% ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ IN ('ΠΊΠΎΠΌΠ°Π½Π΄Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ') DO  ΠΊΠΎΠΌΠ°Π½Π΄Π°  

    ДСйствиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FOR ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ…

    • Π’Π·ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…
    • Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ FOR %% G Ρ€Π°Π²Π½Ρ‹ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ части этих Π΄Π°Π½Π½Ρ‹Ρ…
    • Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹).
    • ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π΄Π°Π½Π½Ρ‹Ρ…

    Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ FOR Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Π° Π½Π΅ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π·Π½Π°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°:% G вмСсто %% G .

    Π”Π›Π― ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

    ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΡƒΠΊΠ²Ρ‹ G.

    FOR %% G IN …

    Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° FOR оцСниваСтся ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ IN (….) ΠΈ %% G устанавливаСтся Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

    Если это ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ‚ΠΎΠ³Π΄Π° %% G устанавливаСтся Ρ€Π°Π²Π½Ρ‹ΠΌ этому Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся.

    Если ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСскольким значСниям, Ρ‚ΠΎ нСявно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для хранСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…. Они автоматичСски ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС %% H %% I %% J … (нСявноС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²)

    Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ относится ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ ссылку Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для извлСчСния ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° / ΠΏΡƒΡ‚ΠΈ / Π΄Π°Ρ‚Ρ‹ / Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

    ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°, ΠΊΡ€ΠΎΠΌΠ΅ %% G.

    %% G — Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ Π½ΠΈ с ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π±ΡƒΠΊΠ² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡƒΡ‚ΠΈ (a, d, f, n, p, s, t, x) ΠΈ обСспСчиваСт самый Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ряд Π½Π΅ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… Π±ΡƒΠΊΠ² для использования ΠΊΠ°ΠΊ нСявныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.
    G> H> I> J> K> L> M
    Π‘ΡƒΠΊΠ²Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ рСгистру, поэтому использованиС Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ способом ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² %% A, Π° Π½Π΅ %% a.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

    FOR / F «tokens = 1-5» %% A IN («Π­Ρ‚ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅») DO @echo %% A %% B %% D

    ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ: Π­Ρ‚ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅

    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½Π°Π±ΠΎΡ€ ΠΈΠ· 26 ΠΏΠ°ΠΏΠΎΠΊ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°:

    FOR %% G IN (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v , w, x, y, z) DO (md C: \ demo \ %% G)

    ИспользованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ†ΠΈΠΊΠ»Π΅ FOR

    ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ†ΠΈΠΊΠ»Π° FOR ΠΈ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ всСго Ρ€Π°Π·Π΄Π΅Π»Π° DO.
    Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ подсчитываСтся количСство Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π½ΠΎ% count% всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 1:

    .

    @ эхо Π²Ρ‹ΠΊΠ»
    SET count = 1
    FOR / f «tokens = *» %% G IN (‘dir / b’) DO (
    эхо% count%: %% G
    ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ / счСтчик + = 1 )

    Для обновлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ EnableDelayedExpansion, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ CALL :, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

    @ эхо Π²Ρ‹ΠΊΠ»
    SET count = 1
    FOR / f «tokens = *» %% G IN (‘dir / b’) DO (Π²Ρ‹Π·ΠΎΠ² : ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «%% G» )
    GOTO: eof

    : ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°
    эхо% количСство%:% 1
    set / a count + = 1
    GOTO: eof

    Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FOR

    ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ FOR ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ FOR %% G… DO (для %% U … do …)
    ΠΏΡ€ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ части. Ρ‚ΠΎΠ³Π΄Π° Ρ‚Ρ‹ моТСшь ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ Π² послСднСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ DO.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π΄Π²ΡƒΡ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² FOR см. На страницС EXIT.

    Если Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, ΠΊΠΎΠΌΠ°Π½Π΄Π° FOR Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:
    FOR %% ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ IN (set) Команда DO [ΠΊΠΎΠΌΠ°Π½Π΄Π°-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹]

    Π£Ρ€ΠΎΠ²Π½ΠΈ ошибок

    Команда FOR ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ устанавливаСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ошибок, оставляя это для Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ .
    Одно ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ — использованиС подстановочного Π·Π½Π°ΠΊΠ°, Ссли подстановочный Π·Π½Π°ΠΊ Π½Π΅ соотвСтствуСт Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ, Ρ‚ΠΎΠ³Π΄Π° FOR Π²Π΅Ρ€Π½Π΅Ρ‚% ERRORLEVEL% = 5

    FOR сам ΠΏΠΎ сСбС Π½Π΅ устанавливаСт ΠΈ Π½Π΅ сбрасываСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ошибки.
    FOR — это внутрСнняя ΠΊΠΎΠΌΠ°Π½Π΄Π°.

    Β«Π’Π΅, ΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅, ΠΎΠ±Ρ€Π΅Ρ‡Π΅Π½Ρ‹ Π½Π° Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅Β» — Π”ΠΆΠΎΡ€Π΄ΠΆ Бантаяна

    Бвязанный:

    FOR — ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.
    FOR / R — просмотр Ρ„Π°ΠΉΠ»ΠΎΠ² (рСкурсивныС ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ).
    FOR / D — ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ нСсколько ΠΏΠ°ΠΏΠΎΠΊ.
    FOR / L — ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл.
    FOR / F — ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ элСмСнты Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅.
    FOR / F — Ρ†ΠΈΠΊΠ» Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.
    ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ / Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹% ~ options.
    FORFILES — ΠŸΠ°ΠΊΠ΅Ρ‚Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².
    GOTO — ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΉ строкС.
    Π•Π‘Π›Π˜ — условно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.
    Powershell: ForEach-Object — Ρ†ΠΈΠΊΠ» для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅.
    ЭквивалСнтная ΠΊΠΎΠΌΠ°Π½Π΄Π° bash (Linux): awk ΠΈΠ»ΠΈ для var Π² [список]; do — Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ список ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ .


    АвторскиС ΠΏΡ€Π°Π²Π° Β© 1999-2020 SS64.com
    НСкоторыС ΠΏΡ€Π°Π²Π° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ .