2010-01-13 1 views
2

은 현재 내가, 사용자의 프로파일 내부에 위치에 파일을 복사하려고하지만, 동적 프로파일 이름을 선언에 문제가 맞았다는 예 :

<Target Name="CopyScript"> 
    <MsBuild Projects="JsProject.csproj" /> 
    <Copy SourceFiles="$(ProjectDir)\myScript.js" DestinationFolder="$(systemdrive)\Documents and Settings\$(userProfileName)" /> 
</Target> 

는 구문 무엇입니까 동적 사용자 프로필 이름을 선언 하시겠습니까? 어딘가에서 프로파일 이름을 얻어야합니까, 아니면 나를 위해 그것을 발견 할 다른 MsBuild 태스크가 있습니까?

감사합니다.

답변

5

HOMEDRIVE 및 HOMEPATH 환경 변수로이 값을 얻을 수 있어야합니다. 예 :

<Project ToolsVersion="3.5" DefaultTargets="Demo" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 

    <PropertyGroup> 
    <UserDir>$(HOMEDRIVE)$(HOMEPATH)</UserDir> 
</PropertyGroup> 

    <Target Name="Demo"> 
<Message Text="UserDir : $(UserDir)" Importance="High" /> 
    </Target> 

</Project> 

데모 대상을 실행할 때 현재 사용자의 홈 디렉터리 경로를 얻어야합니다.

사예드 @
+0

: 당신의 예를 사용하고 반환 "C : \ 문서 및 설정 \ 관리자". "관리자"만 반환하려는 경우 $ (사용자 이름)과 같은 것을 사용합니까? – BeraCim

+0

는이 경우 당신은 또한'HOMEDRIVE'와'HOMEPATH'을 연결하는 필요성을 제거하는 것이다,'$ (USERPROFILE)를'사용할 수있는 ENV 변수 USERNAME 그래서 $ (사용자 이름) –

+1

를 사용합니다. – bsara