반응형
PowerShell 스크립트의 파일 시스템 위치를 얻으려면 어떻게 해야 합니까?
PowerShell 스크립트가 있습니다.D:\temp
.
이 스크립트를 실행하면 파일의 현재 위치가 나열되도록 합니다.이거 어떻게 해요?
예를 들어, 이 코드는 DOS 배치 파일로 구현됩니다. 파워쉘 스크립트로 변환하려고 하는데...
FOR /f "usebackq tokens=*" %%a IN ('%0') DO SET this_cmds_dir=%%~dpa
CD /d "%this_cmds_dir%"
파워쉘 3+
실행 중인 스크립트의 경로는 다음과 같습니다.
$PSCommandPath
디렉터리는 다음과 같습니다.
$PSScriptRoot
파워쉘 2
실행 중인 스크립트의 경로는 다음과 같습니다.
$MyInvocation.MyCommand.Path
디렉터리는 다음과 같습니다.
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
로만 쿠즈민은 임호라는 질문에 답했습니다.모듈을 가져오시면 추가하겠습니다.Import-Module
), 액세스할 수 있습니다.$PsScriptRoot
모듈 내부의 자동 변수 - 모듈이 위치한 위치를 알려줍니다.
PowerShell V5 스크립트와 PowerShell ISE에서 사용할 수 있는 기능은 다음과 같습니다.
try {
$scriptPath = $PSScriptRoot
if (!$scriptPath)
{
if ($psISE)
{
$scriptPath = Split-Path -Parent -Path $psISE.CurrentFile.FullPath
} else {
Write-Host -ForegroundColor Red "Cannot resolve script file's path"
exit 1
}
}
} catch {
Write-Host -ForegroundColor Red "Caught Exception: $($Error[0].Exception.Message)"
exit 2
}
Write-Host "Path: $scriptPath"
HTH
추신. 전체 오류 처리가 포함되어 있습니다.따라서 필요에 맞게 조정합니다.
다음은 한 가지 예입니다.
$ScriptRoot = ($ScriptRoot, "$PSScriptRoot" -ne $null)[0]
import-module $ScriptRoot\modules\sql-provider.psm1
Import-Module $ScriptRoot\modules\AD-lib.psm1 -Force
언급URL : https://stackoverflow.com/questions/3667238/how-can-i-get-the-file-system-location-of-a-powershell-script
반응형
'programing' 카테고리의 다른 글
Android에서 메뉴 항목의 텍스트 색상을 변경하는 방법은 무엇입니까? (0) | 2023.09.10 |
---|---|
MySQL 테이블에 읽기/쓰기를 잠그면 다른 프로그램이 데이터베이스에 읽기/쓰기하지 않고도 선택하고 삽입할 수 있습니다. (0) | 2023.09.10 |
XML 스키마 파일에서 xs와 xsd의 차이점은? (0) | 2023.09.10 |
python 명령 줄 프로그램을 인터프리터가 아닌 임의의 것을 자동으로 완성하는 방법 (0) | 2023.09.10 |
PowerShell을 사용하여 파일에 탭 쓰기 (0) | 2023.09.10 |