powershell - variable expansion inside namespace-qualified variable name -


problem

i want perform parametric variable evaluation. to-be-evaluated variable name constructed string concatenation - namespace part , name part being defined in variable. example: env:$var, value of $var is, instance "os". however, while using expression

${env:os} 

gives expected value windows_nt, construct

$var="os" ${env:$var} 

is null-valued expression.

motivation

i'm not intereseted in value of environment variables (but simplest example, find). want, refer content of file via ${c:<filename>} construct. want perform several, conditional in-file string substitutions and, i'd use construct similar this:

<identify files in foreach> ${c:<filename>} -replace 'this', 'that' > ${c:<new filename>} 

to achieve this, need <filename> value of iterator variable.

question

if value of $var os, shall @ ..., if expect value of following expression windows_nt?

${env:...var...} 

use get-childitem on env: psdrive , expand value of result:

(ls env:$var).value 

edit: @petseral suggested in comments using get-content more elegant approach:

(cat env:$var) 

Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -