2017-12-07 23 views
0

이것은 정확하게 호기심과 같은 도움을 요구하지 않습니다. 내 스크립트에 다음과 같이 정의 파일의 경로를 가지고 :

$RootDir = $PSScriptRoot 
$ExcelFile = $RootDir + "\" + $File + ".xlsx" 

$File 변수가 이전 스크립트에서 정의된다. 이 버전은 완벽하게 잘 작동하지만 하나의 행이처럼 단순화하려고 할 때, 그것은 작동하지 않았다

$ExcelFile = $PSScriptRoot + "\" + $File + ".xlsx" 

어떤 생각을 두 번째 버전이 작동하지 않는 이유는 무엇입니까? 파일을 찾을 수 없다고합니다. 나는 논리적 인 이유를 볼 수 없다. 때문에,

$ExcelFile = "${PSScriptRoot}\${File}.xlsx" 

그러나 Join-Path이 탄력 접근법 : 당신은 또한 변수 간단한 문자열로 갈 수있는 특정 경우

$ExcelFile = Join-Path $PSScriptRoot ($File + '.xlsx') 

: 건물 경로에 대한

+0

전자의 경우 왜 후자가 작동하지 않아야하는지 나는 알지 못합니다. –

+0

예, 나는 또한 매우 이상한 것을 발견했습니다. 일반적인 관점에서 볼 때 다른 점은 없습니다. 어쩌면'$ PSScriptRoot'에는 몇 가지 특성이 있을까요? 결국 그것은 스크립트 내에서 수동으로 정의 된 변수가 아닙니다. –

답변