2010-11-29 2 views
3

우리는 사용자 홈 디렉토리를 정리하고 모든 사용자 서식 파일을 사용자 드라이브 (U :)의 새 디렉터리로 이동하여 일부 Office 2007 성능을 가속화하려고합니다. 내 초기 테스트 동안 나는 아래의 스크립트를 제대로 작동하도록 할 수는 있지만 그것은 내 사용자 이름에 대해서만 작동한다는 분명한 문제가 있습니다. 현재 로그인 한 사용자를 데리고 갈 수있는 방법이 있습니까? 이 %의 사용자 이름 %에 의해 분명히 인터넷의 간단한 검사에서 처리 될 것입니다 전에 :파일 경로에 사용자 이름 삽입 Powershell

$[Environment]::UserName 

작동합니다. 그러나 나는 오류가있는 것 같습니다. 파일 경로에있는 사용자 이름의 현재 로그인을 달성하는 더 좋은 방법이 있습니까?

if (!(Test-Path -path '\\SERVER\PATH\TO FILES\$[Environment]::UserName\Normal\')) 
{ 
New-Item '\\SERVER\PATH\TO FILES\$[Environment]::UserName\Normal\' -type directory 
##Move-Item \\SERVER\PATH\TO FILES\$env:username\Normal.dot \\\SERVER\PATH\TO FILES\$env:username\Normal\ 
## Move-Item \\SERVER\PATH\TO FILES\$env:username\*.dotm \\SERVER\PATH\TO FILES\%username%\Normal\ 
} 
else 
{ 
"No work to do" 
} 
+0

또한보십시오'$의 ENV는 https://stackoverflow.com/questions/2085744/how-to-get-current-username-in-windows-powershell –

답변

5

두 가지 문제가 있습니다. 문자열에서 변수/표현식 대체를 원할 경우, 어포 스트로피가 아닌 따옴표를 사용하여 문자열을 묶어야합니다. 이 경우, 괄호를 추가하여 문자열 내의 표현식을 나타낼 필요가 있습니다.

"\\SERVER\PATH\TO FILES\$([Environment]::UserName)\Normal\" 
+3

: USERNAME' 더 PowerShell을 틱, 아마도 : ' "\\ 서버 \ 경로 \ 파일에 \ $ 환경 : 사용자 이름 \ 정상 \"' –

+0

아. 그 점을 지적 해 주셔서 대단히 감사합니다. (@ OldFart) –

관련 문제