我的启动中有一个 powershell 脚本:
%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\
注意,脚本本身不在启动中。相反,在 \Startup\ 中是脚本的快捷方式。捷径是:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoProfile -File C:\develop\utils\powershell\converter.ps1
它整天循环等待事件。这是循环:
try {
# At the end of the script...
while ($true) {
Start-Sleep -Seconds .2
}
}
catch {}
Finally {
# Work with CTRL + C exit too !
Unregister-Event -SourceIdentifier $eventname
}
效果很好。
但是当我登录时,有那个命令框....
如何使脚本保持原样,但最小化? (或者更好,,,坐在托盘中......但前提是这很容易!我的意思是:理想情况下它甚至不会出现在我的 alt-tab 窗口序列中......但我可以终止它,如果我需要....)
我应该进一步注意,该脚本必须位于我的用户会话中,因为它提供的事件是在我使用其他应用程序时由我触发的。 (IOW:将其放入任务调度程序中不是一个选项。)
更新:以下说明按照广告的方式工作,但您声明您知道这种方法,并且您唯一的问题是 Windows 11 中文件资源管理器 GUI 的样式可能会错误地表明窗口-样式下拉列表(快捷方式文件的“属性”对话框中的字段
Run
)已禁用。
以下是如何在启动时通过用户特定的"$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup"
文件夹运行脚本
最小化。
移动您的脚本文件,例如
foo.ps1
出启动文件夹,[1]对您的桌面。
在其位置上,创建一个快捷方式文件 (
.lnk
),该文件在最小化窗口的情况下调用脚本文件:
New > Shortcut
快捷菜单命令:
粘贴以下目标命令并提交:
powershell.exe -ExecutionPolicy Bypass -File "%USERPROFILE%\Desktop\foo.ps1"
键入文件名(
.lnk
将被附加,尽管该扩展名默认隐藏在文件资源管理器中)并提交。
打开新创建的文件的“属性”对话框,然后在字段
Run
中选择 Minimized
,然后提交。
[1] 正如 Abraham Zinala 指出的那样,当放置在启动文件夹中或在文件资源管理器中双击时,
.ps1
文件默认不会被执行(相反,它们会被打开进行编辑)。但是,可以重新配置系统来执行此操作 - 请参阅此答案。尽管如此,当直接放置在启动文件夹中时,这并不能让您控制脚本的窗口状态。
为我解决了问题。这并不特别适用于任何 shell,但总的来说,我的 PowerShell 窗口没有被最小化或恢复正常。我做了一些挖掘,上面的命令对我来说效果很好。