好吧,我一直在非常我家用电脑出现了奇怪的情况。我正在编写一个 powershell 脚本来执行一些我在工作时经常在测试台上进行的基本设置(在桌面上创建一个共享文件夹、将某些内容固定到任务栏等),我正在家里测试它。
我正在将内容固定到任务栏(是的,我知道,不要这样做,等等,但我认为这没问题,因为它只是对测试设备的一种破解,不会投入生产),通过执行可执行文件上的“固定到任务栏”动词的 powershell 脚本。我发现当我将“c:\Windows\system32\cmd.exe”固定到任务栏时,它实际上会固定 VS 2010 的 Visual Studio 命令提示符...
这很奇怪,即使手动执行也会发生这种情况,所以它与 powershell 脚本无关。
这很奇怪。即使我查看“C:\Users\\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar”中的链接,我也发现该链接没有任何歧义,它直接指向 VS 2010 的命令提示符。
这看起来很奇怪,而且我使用 google-fu 也没有找到任何类似的东西。
有任何想法吗?
PS Windows 7 家庭高级版,SP1。
我已经安装了 VS2010 Express(C++、C#、VB)和 VS 2013 Express。
在工作中我运行的是 Windows 8.1,并且有 VS2005、VS2010、VS2013,但我还没有机会在工作中测试它以查看它是否相同。
答案1
不要固定可执行文件本身,而是尝试将快捷方式固定在“开始”菜单上(C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Command Prompt.lnk
)。请注意,Microsoft 将命令提示符链接构建到每个用户的配置文件中,而不是将其放在“所有用户”配置文件中。
我在部署映像中使用此技术,以便在新用户登录时从任务栏中取消固定 Windows Media Player、Explorer 和 IE。我必须这样做,因为 IE 的路径在 64 位和 32 位机器上是不同的。
奇怪的是,直接固定可执行文件仍然会导致 VS 出现,但我明白这是怎么发生的。
另外需要注意的是,Visual Studio 命令提示符没有什么特别之处。它所做的只是使用不同的主目录和 %PATH% 环境变量中的一些额外目录来启动它。