gpt4 book ai didi

Powershell更改点源文件的位置

转载 作者:行者123 更新时间:2023-12-03 00:18:23 25 4
gpt4 key购买 nike

我有一个引用了许多 PS1 文件的 Power Shell 模块。

. $PSScriptRoot\vs-command.ps1
. $PSScriptRoot\open.ps1
. $PSScriptRoot\git.ps1
. $PSScriptRoot\build.ps1
. $PSScriptRoot\deploy.ps1
. $PSScriptRoot\count.ps1
. $PSScriptRoot\tab.ps1
. $PSScriptRoot\test.ps1
. $PSScriptRoot\nuget.ps1
. $PSScriptRoot\checkforxml.ps1

此 PSM1 文件保存在 Documents\WindowsPowerShell\Modules 的位置,当前与上面引用的 PS1 文件相关联。

上面的文件对visual studio项目\解决方案执行了许多操作,我现在需要将每个文件保存在解决方案文件夹中自己的文件夹中。

我需要找到一种在打开同一个 PowerShell 窗口时切换 $PSScriptRoot 的方法。

所以......要求是......这些文件的初始加载,所以我有我期望的基本命令......然后......当我切换到保存在 d:\slns 中的解决方案文件夹时,它将检测到root 已更改,然后选择新的 ps1 文件。 .

我对powershell非常陌生,因此非常感谢所有帮助和信息。

谢谢

最佳答案

$PSScriptRoot是一个自动变量,其中包含启动给定 PowerShell 脚本的文件夹的路径,即您的脚本正在从其自己的父文件夹中获取其他 .ps1 文件。

如果您需要从不同位置获取文件,则需要将该变量替换为每个文件的相应路径。

我仍然不确定我是否理解你的问题,但也许这样的事情会做:

switch -wildcard ($PSScriptRoot) {
'*\somefolder\*' {
. "$PSScriptRoot\A.ps1"
. "$PSScriptRoot\..\..\C.ps1"
}
'*\otherfolder\*' {
. "$PSScriptRoot\B.ps1"
. 'C:\some\where\else\D.ps1'
}
default {
. "$PSScriptRoot\A.ps1"
. "$PSScriptRoot\B.ps1"
}
}

关于Powershell更改点源文件的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26913135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com