windows - Hvordan vælges navnet på miljøvariablen som et argument?
Problem
Jeg har en batch.bat med et input argument
\%1
. Jeg vil starte scriptet som: batch.bat PATH
. Jeg vil gerne have dette vist PATH-miljøvariablen med echo
.Jeg forsøgte:
@echo \%1
E:>batch.bat PATH
PATH
men jeg vil gerne have indholdet af PATH miljøvariabel.
E:>batch.bat PATH
C:Windows;
Bedste reference
Du har brug for forsinket ekspansion for at udføre en variabel, der refereres af et cmd line argument.
Dette parti bruger to forskellige metoder til dette,
- et pseudoopkald med fordoblet procenttegn (som tvinger parseren til at evaluere linjen to gange, på første pass reducerer to
\%\%
til en i 2. pass den anden vars allerede er udvidet) og - bruger
!
i stedet det normale enkelt procent tegn med en forudgående kommandosetlocal enabledelayedexpansion
:: Q:Test2018 510SO\_50280684.cmd
@Echo off&SetLocal EnableDelayedExpansion
Echo(\%1
Echo(!\%1!
Call Echo(\%\%\%1\%\%
Jeg bruger kommandoseparatoren
(
i stedet for et mellemrum til at undertrykke en Echo is off
besked inkassering af en tom var.Prøve med kommando
>SO\_50280684.cmd PROCESSOR\_ARCHITECTURE
PROCESSOR\_ARCHITECTURE
AMD64
AMD64