看看这段代码:
main
function main
{
cls
Write-Host "hi"
}
Run Code Online (Sandbox Code Playgroud)
如果您是第一次运行它,将加载Windows鼠标属性窗口.
再次运行它会显示"hi".
为什么是这样?
我知道main.cpl是Mouse Properties窗口.但是为什么它只是第一次打开,然后第二次Powershell意识到你实际上想要调用"主要"功能.
如果你想要鼠标属性窗口,Powershell不应该检测到这个并要求你编写main.cpl吗?
因为在第一次调用main时,没有函数main,所以PowerShell正在寻找另一个名为main的东西来执行.第二次它知道main函数,并且优先于main.cpl.
解决方案很简单.在第一次调用之前声明main函数.
function main
{
cls
Write-Host "hi"
}
main
Run Code Online (Sandbox Code Playgroud)
我没有回答为什么PowerShell决定在键入main时执行main.cpl,但是如果你在$ env:path中有它,那么main.exe也是如此.
| 归档时间: |
|
| 查看次数: |
563 次 |
| 最近记录: |