Powershell 打开系统控制面板而不是执行代码

Powershell opens System Control Panel instead of executing code

首先,我不是在挑衅,这是正在发生的事情,我不知道为什么。我做了这个小脚本来测试变量范围:

$a = 1

Main

Function Main {
    echo $a
}

现在,我正在执行它。

Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. Alle Rechte vorbehalten.

PS C:\Users\me> & 'C:\backup\variable scopes.ps1'
PS C:\Users\me>

唯一发生的事情是,windows 控制面板鼠标配置 window 打开,允许我调整速度,双击超时等等。

我完全说不出话来 :D 不知道是否还有其他人可以让这个最小的例子为他工作,但是如果可以的话请赐教。

每次都这样,我试过重启power shell console,迫于无奈,我什至在变量前加了必要的关键字global来修改作用域,但即便如此没有输出,东西仍然打开。

将您的函数重命名为其他名称。 main 是鼠标控制面板小程序的名称。它正在使用它而不是你的函数。

我刚注意到同样的事情,当我开始寻找时,Google 把我带到了这里。

我有一个名为 "main.ps1" 的脚本,当我在一分钟前尝试 运行 它时,我忘记用“./”和“.[=31”将它括起来=]" 并发现自己正在查看鼠标控制面板小程序。

Get-command 和 Get-Alias 没有列出任何名为 "main"

的东西

Get-help return "main" 或 "about_main" 的任何结果。

我在常规命令提示符下尝试了 运行ning "main",但是 DOS 端没有名为 "main" 的任何内容,因此它必须是 Powershell 正在做的事情。

这绝对是一种奇怪的行为。有意思...

编辑:刚刚意识到鼠标控制面板名为 main.cpl。这就是它的来源。