MS-DOS og Windows kommandolinje til kommando

Indholdsfortegnelse:

MS-DOS og Windows kommandolinje til kommando
MS-DOS og Windows kommandolinje til kommando

Video: 15 CMD Commands Every Windows User Should Know 2024, Kan

Video: 15 CMD Commands Every Windows User Should Know 2024, Kan
Anonim

Den FOR variabel anvendes til batch filer til at køre en bestemt kommando, når en parameter er opfyldt eller angivet.

  • tilgængelighed
  • Til syntaks
  • For eksempler

tilgængelighed

For er en intern kommando og er tilgængelig i følgende Microsoft-operativsystemer.

  • Alle versioner af MS-DOS
  • Windows 95
  • Windows 98
  • Windows ME
  • Windows NT
  • Windows 2000
  • Windows XP
  • Windows Vista
  • Windows 7
  • Windows 8
  • Windows 10

Til syntaks

  • Windows 2000, XP og senere syntaks.
  • Windows 95, 98, ME-syntaks.

Windows 2000, XP og senere syntaks

FOR% variabel IN (sæt) DO-kommando [kommandoparametre]

% variabel En vilkårlig parameter.
(Filsæt) Specificerer et sæt med en eller flere filer. Jokertegn kan bruges.
kommando Specificerer den kommando, der skal udføres for hver fil.
kommando-parametre Specificerer parametre eller switches for den specificerede kommando.

For at bruge kommandoen FOR i et batchprogram skal du angive %% variabel i stedet for% variabel. Variable navne er store og små bogstaver, så% i er forskellig fra% I.

Hvis kommandoudvidelser er aktiveret, understøttes følgende yderligere former for kommandoen FOR:

FOR / D% variabel IN (sæt) DO-kommando [kommandoparametre]

Hvis sættet indeholder jokertegn, specificeres det så at matche mod katalognavne i stedet for filnavne.

FOR / R [[drev:] sti]% variabel IN (sæt) DO-kommando [kommandoparametre]

Går til bibliotekstræet, der er rodfæstet på [drive:] -stien, udfører FOR-sætningen i hvert katalog på træet. Hvis der ikke er angivet nogen katalogspecifikation efter / R, antages det aktuelle bibliotek. Hvis sæt kun er en enkelt periode (.) -Tegn, tæller den katalogtræet.

FOR / L% variabel IN (start, trin, slut) DO-kommando [kommandoparametre]

Sættet er en række af numre fra start til slut, for trinbeløb. Så (1,1,5) ville generere sekvensen 1 2 3 4 5 og (5, -1,1) ville generere sekvensen (5 4 3 2 1).

FOR / F ["indstillinger"]% variabel IN (fil-sæt) DO-kommando [kommandoparametre] FOR / F ["indstillinger"]% variabel IN ("streng") DO-kommando [kommandoparametre] FOR / F ["optioner"]% variabel IN ('kommando') DO-kommando [kommandoparametre]

eller, hvis usebackq mulighed findes:

FOR / F ["indstillinger"]% variabel IN (fil-sæt) DO-kommando [kommandoparametre] FOR / F ["indstillinger"]% variabel IN ('streng') DO-kommando [kommandoparametre] FOR / F ["indstillinger"]% variabel IN (`kommando ') DO-kommando [kommandoparametre]

Parametersættet er et eller flere filnavne, der er kilde til input. Hver fil i filnavnet åbnes, læses og behandles, før de går videre til den næste. Behandlingen består af at læse i filen, opdele den i individuelle tekstlinjer og derefter analysere hver linje i nul eller flere tokens. Krop for for-loop kaldes derefter med variabelværdien (erne) indstillet til den / de fundne tokenstreng (er). Som standard passerer / F det første tomme separerede token fra hver linje i hver fil. Blanke linier springes over. Du kan tilsidesætte standardopsætningsadfærd ved at specificere den valgfri parameter "indstillinger". En citeret streng indeholder et eller flere nøgleord til at specificere forskellige analyseindstillinger. Nøgleordene er:

EOL = c Specificerer en ende af linjekommentaren.
springe = n Specificerer antallet af linjer, der skal springes over i starten af ​​filen.
delims = xxx Specificerer et afgrænsersæt, der erstatter standardafgrænsningssættet med plads og fane.
tokens = x, y, mn Specificerer hvilke tokens fra hver linje, der skal sendes til for-kroppen for hver iteration, hvilket bevirker, at der tilføjes yderligere variabelnavne. Mn-formen er et interval, der specificerer mth gennem nth-symboler. Hvis det sidste tegn i tokens = streng er en stjerne, tildeles en yderligere variabel og modtager den resterende linjetekst efter den sidste token, der er parset.
usebackq Specificerer, at ny semantik er i kraft, hvor en tilbage citeret streng udføres som en kommando, og en enkelt citeret streng er en bogstavelig strengkommando. Valgmulighed tillader også brugen af ​​dobbeltcitater til at citere filnavne i filsæt.

Nogle eksempler kan hjælpe:

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

analyserer myfile.txt, ignorerer linjer, der begynder med en semikolon, passerer 2. og 3. token fra hver linje til for-kroppen, med symboler afgrænset af kommaer og mellemrum. Læg mærke til reference for% body for at få det 2. token,% j for at få det tredje token og% k for at få alle resterende symboler efter det tredje. For filnavne, der indeholder mellemrum, skal du citere filnavne med dobbeltcitater. For at bruge dobbelt citater på denne måde skal du bruge indstillingen usebackq. Ellers fortolkes dobbeltcitaterne som en definition af en bogstavelig streng, der skal analyseres.

% i er eksplicit erklæret i for-erklæringen, og% j og% k erklæres implicit via tokens = optionen. Du kan specificere op til 26 tokens via tokens = linjen, forudsat at det ikke forårsager et forsøg på at erklære en variabel højere end bogstavet 'z' eller 'Z'. Husk, FOR variabelnavne er store og små bogstaver, og du kan ikke have mere end 52 aktive på et tidspunkt.

Du kan også bruge FOR / F-parsinglogikken på en vilkårlig streng. Det gør du ved at angive filsæt som en enkelt citeret streng, der er lukket i parenteser. Det vil blive parset som en enkelt linje med input fra en fil.

Endelig kan du bruge FOR / F-kommandoen til at analysere output fra en kommando. Dette gør du ved at gøre filsættet mellem parentesen til en tilbage citeret streng. Det behandles som en kommandolinje, der overføres til et barn CMD.EXE, og dens output indfanges i hukommelsen og analyseres som en fil. Så følgende eksempel:

FOR / F "usebackq delims =="% i IN (`sæt ') DO @echo% i

ville opregne miljøvariablenavne i det aktuelle miljø.

Substitutionen af ​​FOR-variabelreferencerne blev forbedret, og du kan nu bruge følgende valgfri syntaks:

% ~ I Udvider% I fjerner alle omkringliggende tilbud (").
% ~ Fi Udvider% I til et fuldt kvalificeret stienavn.
% ~ DI Udvider kun% I til et drevbogstav.
% ~ Pi Udvider% I til kun en sti.
% ~ NI Udvider kun% I til et filnavn.
% ~ Xi Udvider kun% I til en filtypenavn.
% ~ SI Den udvidede sti indeholder kun korte navne.
% ~ AI Udvider% I til filattributter for filen.
% ~ TI Udvider% I til dato / tid for filen.
% ~ Zi Udvider% I til størrelsen på filen.
% ~ $ PATH: Jeg Søger i de mapper, der er anført i PATH-miljøvariablen, og udvider% I til det fuldt kvalificerede navn på det første fundne. Hvis miljøvariablenavnet ikke er defineret, eller filen ikke findes ved søgningen, udvides denne ændrer til den tomme streng.

Modifikatorerne kan kombineres for at få sammensatte resultater:

% ~ Dpi Udvider% I til kun et drevbogstav og -sti.
% ~ NxI Udvider kun% I til et filnavn og filtypenavn.
% ~ FSI Udvider% I til et komplet stienavn med kun korte navne.
% ~ Dp $ PATH: i Søger i de mapper, der er anført i PATH-miljøvariablen for% I, og udvides til drevbogstavet og stien for den første fundne.
% ~ FtzaI Udvider% I til en DIR-lignende outputlinie.

I eksemplerne ovenfor kan% I og PATH erstattes af andre gyldige værdier. Syntaxen% ~ afsluttes med et gyldigt FOR-variabelnavn. Valg af store navne som% I gør det mere læseligt og undgår forveksling med modifikatorerne, som ikke er store og små bogstaver.

Windows 95, 98, ME-syntaks

FOR% variabel IN (sæt) DO-kommando [kommandoparametre]

% variabel Specificerer en udskiftelig parameter.
(sæt) Specificerer et sæt med en eller flere filer. Jokertegn kan bruges.
kommando Specificerer den kommando, der skal udføres for hver fil.
kommando-parametre Specificerer parametre eller switches for den specificerede kommando.

For at bruge kommandoen FOR i et batchprogram skal du angive %% variabel i stedet for% variabel.