通过使用Powershell在Subdir中运行File1.ps1,当前在Maindir中调用File2.ps1的方法可以更简洁吗?

时间:2014-07-09 19:00:45

标签: powershell

目录结构

path\to\folder1\file1.ps1
path\to\file2.ps1

file1.ps1:

. (Join-Path (Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Definition))  'file2.ps1')

file.ps2:

Write-Host "Helloworld!"

结果

path\to\folder1> .\file1.ps1
Helloworld!

1 个答案:

答案 0 :(得分:2)

您可以使用

. ..\file2.ps1

相反,因为它相当于

. (Join-Path (Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Definition)) 'file2.ps1')

如果当前位置是file2.ps1。

位置的子目录

如果您需要从当前运行的脚本的父目录运行file2.ps1(无论当前位置如何),您可以写:

. join-path (split-path $MyInvocation.MyCommand.Path -parent) "..\file2.ps1"