Differences between revisions 5 and 6
Revision 5 as of 2023-01-30 18:30:12
Size: 1732
Comment:
Revision 6 as of 2023-01-30 18:30:25
Size: 1732
Comment:
Deletions are marked like this. Additions are marked like this.
Line 53: Line 53:
||`%@` ||all arguments as a string  , but each token is [[Batch/Quoting|quoted]] || ||`%@` ||all arguments as a string, but each token is [[Batch/Quoting|quoted]]   ||

Batch File Variables


Declaration

Variables are declared with the set [[Batch/BuiltinCommands#Set|builtin.

set foo=bar


Usage

Variables are accessed by their name. A percent sign (%) must surround the name.

set bar=%foo%

If a variable's value includes a character that the shell will interpret specially, quote the variable.

set bar="%foo%"

If a variable is not set, no substitution occurs.

set MyVar=
echo %MyVar% # '%MyVar%'


Special Variables

Variable

Value

%#

number of arguments

%$

all arguments as a string

%*

all arguments as a string, unmodified by the shift builtin

%@

all arguments as a string, but each token is quoted

Positional Variables

The name of a command is stored in %0.

The first argument to the command is stored in %1. And so on until the 9th argument, %9.

For additional arguments, use the shift builtin to move them into the 9 accessible variables.

To get all arguments as a string (like %$) starting from index n, try %n$. To get all arguments until index n (non-inclusive), try %-n$.


CategoryRicottone

Batch/Variables (last edited 2023-01-30 18:52:07 by DominicRicottone)