2013-03-29 4 views
0

가져온 CSV 파일의 변수를 사용하여 문자열의 변수를 대체하려고합니다.PowerShell에서 공백없이 변수를 호출합니까?

다음은 코드입니다.

param([string] $CSV) $VMs = Import-Csv $CSV Foreach ($VM in $VMs) { psexec \\$VM.VM_Name -h netsh interface ip set address name='"Local Area Connection"' static $VM.IP_Address 255.255.255.0 $VM.Gateway 1 }

이 반환 것입니다 :

psexec에의 \의 @ {VM_Name = TESTCSVVM; IP_Address = 10.12.81.82; 게이트웨이 = 10.12.81.1; VLAN = H = "로컬 영역 연결" 정적 10.12.81.82 255.255.255.0 여기 10.12.81.1 1

내가 그것을 모양을하고 싶은거야 Q_VM_81} .VM_Name -h netsh를 인터페이스의 IP 설정 주소 이름 :

"VM_Name", "여기서 IP_Address"

psexec에 \ TESTCSVVM -h netsh를 인터페이스의 IP 설정 주소 이름 = "로컬 영역 연결" 정적 10.12.81.82 255.255.255.0 10.12.81.1 1

다음은 CSV 파일의 , "게이트웨이", "VLAN" "TESTCSVVM", "10.12.81.82", " 10.12.81.1 ","HQ_VM_81 "

\와 첫 번째 변수 $ VM.VM_Name 사이에 공백이 없도록하려면 어떻게해야합니까?

답변

1

이 시도

감사합니다 :

Foreach ($VM in $VMs) { 
    psexec \\\\$($VM.VM_Name) -h netsh interface ip set address ` 
     name='"Local Area Connection"' ` 
     static $VM.IP_Address 255.255.255.0 $VM.Gateway 1 
} 
+0

완벽한 :

$path = C:\Windows\ $File = MyFile.ext write-host "$path$File 

의 모습! 감사!! – user2225230

0

또한, 따옴표로 일반적으로 포장 변수도 작동합니다.

그래서 경우 :

C:\Windows\myFile.ext 
관련 문제