Microsoft MVP성태의 닷넷 이야기
스크립트: 17. Powershell 명령어에 ';' (semi-colon) 문자가 포함된 경우 [링크 복사], [링크+제목 복사],
조회: 16705
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Powershell 명령어에 ';' (semi-colon) 문자가 포함된 경우

제 경우에, msbuild를 수행 시 다음과 같은 식으로 명령을 내릴 때가 있습니다.

MSBuild.exe ConsoleApp1.csproj /property:Platform=x64 /t:Rebuild

그런데, 여기서 다음과 같이 property를 추가하면,

MSBuild.exe ConsoleApp1.csproj /property:Platform=x64;Configuration=Release /t:Rebuild

이런 오류가 발생합니다.

Configuration=Release : The term 'Configuration=Release' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:194
+ ... zorWebApp.csproj /property:Platform=x64;Configuration=Release /t:Rebu ...
+                                             ~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Configuration=Release:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

왜냐하면 ';' 문자가 PowerShell에서는 명령어 구분자로 사용하기 때문에 한 라인에 저렇게 들어가면 "Configuration=Release..." 이후를 또 하나의 PowerShell 명령어로 해석하게 됩니다. 결국 이런 문제를 해결하려면 escape 처리를 해야 하는데 Powershell에서 이때 사용할 수 있는 문자가 바로 backtick(`)입니다. 따라서 위의 명령어를 다음과 같이 바꾸면 됩니다.

MSBuild.exe ConsoleApp1.csproj /property:Platform=x64`;Configuration=Release /t:Rebuild




참고로, 이 글에서 사용한 msbuild 명령어의 경우 그냥 property를 분리시켜 실행해도 됩니다.

MSBuild.exe ConsoleApp1.csproj /property:Platform=x64 /property:Configuration=Release /t:Rebuild




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 4/1/2020]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 196  197  [198] 
NoWriterDateCnt.TitleFile(s)
25정성태7/17/200319403COM 개체 관련: 5. C++ Attributes - Make COM Programming a Breeze with New Feature in Visual Studio .NET [2]파일 다운로드1
24정성태7/17/200323183.NET Framework: 5. (MHT 변환해서 가져온 글) .NET 의 COM+ 서비스 사용파일 다운로드1
23정성태7/17/200326807.NET Framework: 4. webservice.htc - HTML Script에서도 웹서비스 엑세스 [2]파일 다운로드1
22정성태7/17/200321361.NET Framework: 3. .NET Framework SDK 퀵 스타트 자습서
21정성태7/17/200320347.NET Framework: 2. 김현승님의 "ASP.NET & .NET EnterpriseServices & Remoting 코드 템플릿"
20정성태2/15/200527575VS.NET IDE: 2. Platform SDK 설치
19정성태7/17/200323433.NET Framework: 1. JScript.NET 강좌 사이트[영문]
18정성태7/17/200320829COM 개체 관련: 4. Exchanging Data Over the Internet Using XML [1]파일 다운로드1
17정성태7/17/200328696VC++: 6. Win32 API Hook - 소스는 "공개소스"에있습니다. [2]
16정성태7/17/200321265COM 개체 관련: 3. IE 툴밴드의 위치문제파일 다운로드1
15정성태7/17/200322207VC++: 5. 시행착오 - 클래스 포인터를 void * 로 대입후 delete 하는 경우.
14정성태7/17/200323753VC++: 4. MFC Message 처리 구조
13정성태7/17/200323366VC++: 3. template 활용의 최고 단계!
12정성태5/7/200621081VC++: 2. void func1( MYCLASS *&pBuildingElement ); 선언의 의미
10정성태7/17/200319504기타: 2. 데브피아 사이트의 클럽 서비스 내에 있는 Standard C++ Research
9정성태7/17/200324719기타: 1. Programming Applications for Microsoft Windows 4th Edition
8정성태7/17/200322113COM 개체 관련: 2. CWindowImpl 의 기본 윈도우 클래스 명을 바꾸려면?
7정성태7/17/200324747VS.NET IDE: 1. VC++ 프로파일링 사용법
4정성태7/17/200337312VC++: 1. C++ 클래스 멤버변수 초기화 [3]
3정성태7/17/200323198스크립트: 2. JScript에서의 Blocking 동작을 막아주는 COM 메서드
2정성태6/14/200642027COM 개체 관련: 1. IWebBrowser2와 IHTMLDocument2의 상호 변환 [2]
1정성태7/17/200326104스크립트: 1. IE 의 훌륭한 저장기능 - userData
... 196  197  [198]