명령 줄에서 완벽하게 작동하는 한 줄의 Powershell 명령이 있습니다.간단한 Powershell 명령으로 빌드 후 이벤트에서 Visual Studio 2010이 응답하지 않는다
그러나 VS2010 프로젝트의 빌드 후 명령에 추가하면 실행되지만 Visual Studio가 중단됩니다. Visual Studio가 Powershell 명령이 완료 될 때까지 기다리는 것과 거의 같습니다. 즉 명령 줄은 Enter 키를 눌러 창을 닫거나 뭔가를해야합니다. CPU 사용량이 너무 적으므로.
정상적인 Powershell 명령을 VS2010 포스트 빌드 창 내에서 행복하게 실행하려면 특별한 조치를 취해야합니까?
명령은이 일을 결국
을
Powershell [io.file]::WriteAllText('C:\test.js', ((gc C:\test.js) -replace 'HELLO','GOODBYE' -join "`r`n"))
업데이트 : VS 이내에
[io.file]::WriteAllText('C:\test.js', ((gc C:\test.js) -replace 'HELLO','GOODBYE' -join "`r`n"))
, 정말 같은, 파워 쉘을 통해 그것을 실행하는 접두사를 추가 속임수. 모든 사람들의 위대한 의견을 보내 주셔서 감사합니다. 지역 변수에 gc
에서
gc C:\www\js\test.min.js -read 0
또는 첫 번째 저장소 결과를 다음 sc
전화 :
Powershell -command "[io.file]::WriteAllText('C:\test.js', ((gc C:\.js) -replace 'HELLO','GOODBYE' -join \"`r`n\"))"
도움 주셔서 감사합니다. 내 '명령'이 이미 실제로 그 안에 큰 따옴표를 넣으면 어떨까요? – Aaron
@Aaron :'cmd'는 이스케이프 문자 ('^'IIRC)를 가지고 있거나 따옴표 (' ""')를 두 번 사용하면됩니까? Cmd의 문서는 찾기가 힘들어서 약간의 노력이 필요할 수도 있습니다. 또 다른 옵션은 PSH 스크립트를 파일에 넣고 ("no build"로 프로젝트에 추가) 명령 행을 사용하여 실행하는 것입니다. – Richard
알았어요. 이것은 완벽하게 완벽하게 작동합니다. 또한 세미콜론을 사용하여 4 개의 명령을 연결하여 VS 내에서 한 줄로 모두 호출 할 수있었습니다. 다시 감사 : Powershell -command "[io.file] :: WriteAllText ('C : \ test.js', ((gc C : \. js) -replace 'HELLO', 'GOODBYE' (예 : C : \ test.js) -replace 'HELLO', 'GOODBYE'-join \ "' (예 : C : \ test.js) -replace 'HELLO', 'GOODBYE'-join \ "' (예 : C : \ test.js) -replace 'HELLO', 'GOODBYE'-join \ "' r'n \ "))" – Aaron