文件夹结构为:
--root
--root\source-code\
--root\powershell-scripts\
我需要\powershell-scripts
文件夹中的以下方法来定位\source-code
内的文件:
function Test($param)
{
dir -Include ASourceCodeFile.txt -Recurse |
% { SomeMethod $_ $param }
}
我错过了什么?
答案 0 :(得分:1)
如果您在--root\powershell-scripts\
中有一个脚本,并且想要引用--root\source-code\
中的内容或者说get-content,则可以执行以下操作:
cd --root\powershell-scripts\
get-content '..\source-code\someFile.txt'
..\
引用包含\source-code\
的父目录,然后引用或从该目录中提取文件或脚本。
答案 1 :(得分:1)
$PSScriptRoot
自动变量包含当前脚本所在目录的路径。使用Split-Path
查找其父级(您的--root
)和Join-Path
以获取source-code
文件夹的路径:
Join-Path -Path (Split-Path $PSScriptRoot -Parent) -ChildPath 'source-code'
PowerShell 3.0中引入了 $PSScriptRoot
答案 2 :(得分:0)
有点晚了,但也许对某人还是有帮助的
目录结构:
MyRoot\script\scriptrunning.ps1
config:
MyRoot\config.xml
从scriptrunning.ps1
读取xml文件:
[xml]$Config = Get-Content -path "${PSScriptRoot}\..\config\config.xml"