2012-12-19 2 views
1

아래 코드를 사용하여 줄을 업데이트하려고합니다.Powershell URL 바꾸기

$dburl = 70.186.192.52 
$ptdb = 3388 

$Se = "C:\File\location\edit.me" 
(Get-Content $Se) | 
    ForEach-Object { $_ -replace ("http://127.0.0.1:8190/storage/server"), 'http://$dburl:$ptdb/storage/server' } | Set-Content $Se 

출력은 다음과 같습니다 그러나이 일을 알아내는에서 행운 : 나는 //와 탈출 시도

http://$dburl:$ptdb/storage/server or http://\70.186.192.52\:3388/storage/server 

. 누구든지이 일을하는 더 좋은 방법이 있습니다. 나는 그 사이트를 들여다 보았고 내가 직접적인 상황을 발견 한 것들 중 아무 것도 발견하지 못했다. 나는이 말을하므로 코드를 연구하지 않은 것에 대한 부정적인 표시는 없다.

powershell replace special characters

이 사람은 내가 얻고 무엇을 나를 수 있습니다. 대체되는 변수 대신 입력 된대로 정확하게 출력됩니다. 큰 따옴표를 사용했지만 포트는 인쇄하지만 주소는 인쇄하지 않습니다. 어떤 탈출구/또는 \ 그것을 그냥 앞에 인쇄합니다.

감사합니다.

답변

1

놀랍습니다. 예를 들어 대체 문자열을 큰 따옴표로 묶어보십시오. 예 :

$dburl = '70.186.192.52' 
$ptdb = '3388' 
... -replace ("http://127.0.0.1:8190/storage/server"), "http://${dburl}:$ptdb/storage/server" 

또한 두 개의 변수 값을 인용하십시오.

+0

감사합니다. 항상 그 중 하나는 시도하지 않습니다. – user1846439

관련 문제