반응형
'Run With PowerShell'을 사용하여 실행할 때 다른 스크립트에서 함수 호출
'library' 파일에 'worker' 스크립트에서 호출할 기능이 있습니다.
라이브러리 파일
function ShowMessage($AValue)
{
$a = new-object -comobject wscript.shell
$b = $a.popup( $AValue )
}
작업자 파일
. {c:\scratch\b.ps1}
ShowMessage "Hello"
PowerShell IDE에서 'worker' 스크립트를 실행하면 정상적으로 작동하지만 worker 파일을 마우스 오른쪽 버튼으로 클릭하고 'Run with PowerShell'을 선택하면 'ShowMessage' 기능을 찾을 수 없습니다.두 파일이 동일한 폴더에 있습니다.무슨 일이 일어나고 있을까요?
작업자 파일에서 다음으로 변경합니다.
. "c:\scratch\b.ps1"
ShowMessage "Hello"
@RoiDanton이 아래에 언급한 것처럼:
상대 경로 지정 사용 시 주의:경로 앞에 점을 추가하는 것을 잊지 마십시오. ".\b.ps1"
첫 번째 점은 스코프를 수정하는 데 사용되는 연산자이며 이러한 컨텍스트에서는 경로와 관련이 없습니다.도트 원본 표기법을 참조하십시오.
작업자 파일에서 라이브러리 파일을 닷 소스로 만들면 모든 콘텐츠(함수, 변수 등)가 글로벌 범위에 로드되고 라이브러리 파일에서 함수를 호출할 수 있습니다.
=================== Worker file ==========================
# dot-source library script
# notice that you need to have a space
# between the dot and the path of the script
. c:\library.ps1
ShowMessage -AValue Hello
=================== End Worker file ======================
언급URL : https://stackoverflow.com/questions/8501225/call-a-function-in-another-script-when-executing-using-run-with-powershell
반응형
'programing' 카테고리의 다른 글
Axios 400 오류 요청 콜 대신에 호출합니다. (0) | 2023.08.05 |
---|---|
디렉토리의 쓰기 가능 여부 결정 (0) | 2023.08.05 |
버튼 배경이 투명함 (0) | 2023.08.05 |
Android View에 해당하는 iOS.GONE 가시성 모드 (0) | 2023.08.05 |
코코아 포드를 사용할 때 '해당 모듈 없음'이 표시됨 (0) | 2023.08.05 |