C:\WINDOWS>HELP RMDIR
Tar bort kataloger.
RMDIR
[/S
] [/Q
] [enhet:
]sökväg
RD
[/S
] [/Q
] [enhet:
]sökväg
/S Tar bort alla kataloger och filer i angiven
katalog inklusive den angivna katalogen.
Används för att ta bort ett katalogträd.
/Q Tar bort kataloger utan att fråga när /S används
C:\WINDOWS>HELP SET
Visar, ändrar eller tar bort miljövariabler i Kommandotolken.
SET
[variabel=
[text
]]variabel Anger namn på miljövariabeln.
text Anger den text som tilldelas variabeln.
Skriv SET utan parametrar om du vill visa aktuella
miljövariabler.
Om kommandotilläggen är aktiverade ändras kommandot SET enligt
följande:
Om du anropar kommandot SET med bara ett variabelnamn (inget
likhetstecken
eller värde) visas värdet för alla variabler vars prefix matchar
namnet som
angavs. Till exempel:
SET P
visar alla variabler som börjar med bokstaven P
Kommandot SET anger ERRORLEVEL till 1 om variabelnamnet inte kan
hittas
i den aktuella miljön.
Kommandot SET tillåter inte att ett likhetstecken ingår i
namnet på en variabel.
Två nya växlar har skapats för kommandot SET:
SET /A uttryck
SET /P variabel=
[ledtext
]Växeln /A anger att strängen till höger om likhetstecknet är ett
numeriskt uttryck som är utvärderat. Uttrycksutvärderaren
är förhållandevis enkel och stöder följande åtgärder, i fallande
prioritetsordning:
() - gruppering
! ~ - - enställiga operatorer
* / % - aritmetiska operatorer
+ - - aritmetiska operatorer
<< >> - logisk skiftning
& - logiskt och (bit-per-bit)
^ - logiskt exklusivt eller (bit-per-bit)
| - logiskt eller (bit-per-bit)
= *= /= %= += -= - tilldelning
&= ^= |= <<= >>=
, - uttrycksavgränsare
Om du använder några av de logiska operatorerna eller modulus-
operatorn,
måste du omsluta uttryckssträngen i citattecken. Alla icke-
numeriska
strängar i uttrycket behandlas som miljövariabelnamn vars värden
är
konverterade till tal innan de används. Om ett miljövariabelnamn
angetts
men inte är definierat i den aktuella miljön, används värdet noll
istället.
Detta innebär att du kan utföra aritmetik med miljövariabelvärden
utan
att du måste skriva tecknen % för att få deras värden. Om SET /A
körs från
kommandoraden (utanför en kommandofil), visas uttryckets
slutgiltiga värde.
Tilldelningsoperatorn kräver ett miljövariabelnamn till vänster
om
tilldelningsoperatorn. Numeriska värden är alltid decimaltal,
såvida de inte
föregås av 0x för hexadecimala tal och 0 för oktala tal. 0x12 är
alltså
identiskt med 18 som är identiskt med 022. Observera att syntaxen
för oktala
tal kan vara förvirrande: 08 och 09 är inte giltiga tal eftersom
8 och 9
inte är giltiga oktala siffror.
Växeln /P ger dig möjlighet att tilldela ett värde till en
variabel
från en indatarad som angetts av användaren. Visar en angiven
ledtext
innan indataraden läses. Ledtexten kan vara tom.
Miljövariabelersättning har utökats enligt följande:
%PATH:str1=str2%
expanderar miljövariabeln PATH. Alla förekomster av "str1"
ersätts
i den expanderade strängen med "str2". "str2" kan vara tom
sträng. Alla förekomster av "str1" tas då bort från den
expanderade
strängen. "str1" kan börja med en asterisk. Då matchas allting
från början av den expanderade strängen till den första
förekomsten
av den återstående delen av "str1".
Det går även att ange understrängar för expandering.
%PATH:~10,5%
skulle expandera miljövariabeln PATH och bara använda 5 tecken
med
början på det 11:e (förskjutning 10) tecknet i den expanderade
strängen. Om ingen längd angetts, används den återstående delen
av strängen som standard. Om ett av talen (förskjutning eller
längd)
är negativt, används längden på miljövariabeln adderat till den
angivna förskjutningen eller längden.
%PATH:~-10%
expanderar de sista 10 tecknen i miljövariabeln PATH.
%PATH:~0,-2%
expanderar alla utan de sista 2 tecknen i miljövariabeln PATH.
Slutligen har stöd för fördröjd expandering av miljövariabler
lagts
till. Som standard är detta stöd alltid inaktiverat. Det kan dock
aktiveras/inaktiveras med hjälp av växeln /V för kommandot
CMD.EXE.
Skriv CMD /? för mer information.
Fördröjd expandering av miljövariabler är användbart om du vill
komma runt
begränsningarna i den nuvarande expanderingen som inträffar när
en textrad
läses (inte när den körs). Följande exempel klargör problemet
med omedelbar expandering av variabler:
set VAR=innan
if "%VAR%" == "innan" (
set VAR=efter
if "%VAR%" == "efter" @echo Om du ser detta så fungerar
det
)
Ovanstående exempel skulle aldrig visa meddelandet, eftersom
%VAR% ersätts
i båda IF-satserna när den första IF-satsen läses. Det beror på
att den
inkluderar IF-satsens kropp, som är ett sammansatt uttryck. IF-
satsen
inuti det sammansatta uttrycket jämför egentligen "innan" med
"efter" och
kommer därför aldrig vara sann. Följande exempel kommer inte
heller att
fungera som förväntat:
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
Problemet är att ovanstående uttryck INTE kommer att skapa en
fillista
för den aktuella katalogen. I stället kommer variabeln LIST att
tilldelas
den sista hittade filen.
Precis som i det tidigare exemplet beror detta på att %LIST% bara
expanderas en gång (när FOR-satsen läses). Vid den tidpunkten är
variabeln LIST tom.
Resultatet blir att följande FOR-sats körs:
for %i in (*) do set LIST= %i
vars enda funktion är att den tilldelar variabeln LIST den senast
hittade filen.
Fördröjd expandering av miljövariabler gör att du kan använda ett
annat
tecken (utropstecknet) för expandering av miljövariabler under
körning.
Om fördröjd expandering av variabler är aktiverat, kommer
ovanstående
exempel att fungera som avsett:
set VAR=innan
if "%VAR%" == "innan" (
set VAR=innan
if "!VAR!" == "efter" @echo Om du ser detta fungerar det
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
Om kommandotilläggen är aktiverade finns det flera dynamiska
miljövariabler som kan expanderas men som inte visas i
variabellistan
som visas med kommandot SET. Dessa variabelvärden beräknas
dynamiskt varje gång variabelns värde expanderas.
Om användaren explicit definierar en variabel med det här namnet
kommer
den definitionen att åsidosätta den dynamiska som beskrivs nedan:
%CD% - expanderas till strängen för aktuell katalog.
%DATE% - expanderas till aktuellt datum (samma format som
kommandot DATE).
%TIME% - expanderas till aktuell tid (samma format som kommandot
TIME).
%RANDOM% - expanderas till ett slumpmässigt decimaltal mellan 0
och 32767.
%ERRORLEVEL% - expanderas till den aktuella ERRORLEVEL-nivån.
%CMDEXTVERSION% - expanderas till versionsnumret för de aktuella
kommandotolkstilläggen.
%CMDCMDLINE% - expanderas till den ursprungliga kommandoraden som
anropade kommandotolken.
C:\WINDOWS>HELP SETLOCAL
Påbörjar lokala inställningar av miljövariabler i en kommandofil.
Inställningar som gjorts efter kommandot SETLOCAL utfördes gäller
endast lokalt i kommandofilen. Kommandot ENDLOCAL måste utföras
för
att återställa de tidigare inställningarna. När slutet på en
kommandofil
nåtts, körs kommandot ENDLOCAL för alla aktiva SETLOCAL-kommandon
som
anropats av kommandofilen.
SETLOCAL
Om kommandotilläggen är aktiverade ändras kommandot SETLOCAL
enligt följande:
Kommandot SETLOCAL accepterar nu följande valfria argument:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
aktivera eller inaktivera kommandotolkstillägg. Skriv
CMD /? för mer information.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
aktivera eller inaktivera fördröjd expandering
av miljövariabler. Skriv SET /? för mer information.
De här ändringarna gäller tills det matchande kommandot ENDLOCAL
anges,
oavsett av vilka inställningar som gällde innan kommandot
SETLOCAL angavs.
Kommandot SETLOCAL anger värdet för variabeln ERRORLEVEL om ett
argument
anges. Värdet kommer att vara noll om ett av de två argumenten
anges.
I alla andra fall blir värdet ett. Detta kommando kan användas i
kommandofiler för att ta reda på om tilläggen är tillgängliga.
Till exempel:
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Det gick inte att aktivera tilläggen
Detta fungerar eftersom i gamla versioner av CMD.EXE anger
SETLOCAL
inte värdet för variabeln ERRORLEVEL. Kommandot VERIFY med ett
ogiltigt
argument tilldelar variabeln ERRORLEVEL ett värde skiljt från
noll.