2016-06-23 7 views
1

나는 상당히 큰 솔루션을 가지고 있으며 게시 빌드에서 프로젝트 파일 중 하나에서 배치 파일을 실행하고 있습니다.C# 게시 빌드 일괄 파일 반환 ''┐ '

내용이있는 위치 :

echo %DevEnv% 
echo %2 
echo %1App-%DevEnv%.config 
echo %1App.config 
attrib -r %1App.config 
copy %1App-%DevEnv%.config %1App.config 

rem We are also copying the machine specific config file to ECIHost too 
echo %1 
cd %1 

echo attrib -r ..\ECIHost\ECIHost\App.config 
attrib -r ..\ECIHost\ECIHost\App.config 

echo copy App-%DevEnv%.config ..\ECIHost\ECIHost\App.config 
copy App-%DevEnv%.config ..\ECIHost\ECIHost\App.config 

포스트 빌드입니다 : 나는 또한

cd "$(ProjectDir)" 
CopyAppConfig.bat "$(ProjectDir)" %DevEnv% > "c:\build.txt" 

을 시도

"$(ProjectDir)CopyAppConfig.bat" "$(ProjectDir)" %DevEnv% >  "c:\build.txt" 

모두 같은 줄 반환 :

'´╗┐' is not recognized as an internal or external command, operable program or batch file. 

콘솔에서 배치 파일을 실행하면 모든 것이 성공적으로 실행되고 실행됩니다.

내 빌드 출력 창의 동일한 작업을 수행하더라도 파일로 파이프 할 때.

CopyAppConfig.bat > c:\temp\output.txt 

output.txt 파일에서 나는 명령의 출력을 얻지 만 콘솔과 같은 명령을 입력하면 동일한 오류가 발생합니다.

내 컴퓨터가 아니기 때문에 모든 개발자가 동일한 문제가 있습니다.

어떻게 해결할 수 있습니까?

+2

... 나는 * BOM 파일이있는 UTF-8이어야한다고 생각합니다. –

+0

UTF-8이 이미 있습니다 –

+0

머리에 못을 박았습니다. ANSI가되어야했습니다. –

답변

2

인코딩 오류와 같습니다.

배치 파일은 ASCII 여야하고 BOM이있는 UTF-8이 있어야합니다.

합니다 (BOM은 바이트 순서 마크입니다 -. 인코딩 된 파일이 큰 엔디안 또는 리틀 엔디안 인 경우라는 옵션 헤더 모든 것이 제대로 이러한 파일을 처리합니다.) 인코딩이 잘못처럼이 보이는