我先向你道歉,我不太清楚该用什么方式表达我的问题。我想做的是...
我创建了一个名为beginPHP.ps1
的脚本,它位于c:\users\USERNAME\scripts
目录中。
我用$env:path += c:\users\USERNAME\scripts
添加了上述目录,当我做$env:path
时它会显示出来。我还确保它会显示在我的Environment Variables
(和System Variables
)中。
我打开了PowerShell(v7),并转到了我希望RUN
脚本所在的目录(而不是它所在的目录)。在本例中为C:\xampp\htdocs\wip
。运行命令beginPHP
会出现以下错误:
beginPHP: The term 'beginPHP' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
这就是我要寻找的--为了能够只键入脚本名称并让它在当前的-Path
下运行,我遗漏了什么?
我确实检查了how-to-run-a-powershell-script,但这需要你在脚本所在的位置。我希望在多个位置多次使用这个脚本(否则我就不麻烦创建它了)。
/*******************************************************/
FYI -运行c:\users\USERNAME\scripts\beginPHP
确实有效,所以脚本是可用的。我仍然在尝试找出如何不需要每次的路径。
1条答案
按热度按时间vkc1a9a21#
这应该可以解决您的问题:
问题是在
$env:Path
中存储的路径不能在会话间持续。如果你想让它持续,你可以使用[System.Environment]::SetEnvironmentVariable
method。你也可以考虑把你的ps1
变成psm1
,并使用Module来代替。