Windows 10 开机时运行脚本

Windows 10 开机时运行脚本

请注意:

我希望脚本在我按下电源按钮时立即运行,无需任何人登录。因此我不能简单地使用启动文件夹或任务计划程序,因为这两者仅在用户登录时调用程序。

我为什么需要这个:

我正在尝试在旧的 Windows 10 PC 上安装无头以太坊矿机。有时我在家里会遇到短暂的电源故障,但时间长到足以让矿机离线。我希望能够通过按下电源按钮重新启动挖矿过程,而不必经历处理 RDP 的整个麻烦。

我的脚本:

@echo off
echo Starting Etherminer >> log.txt
goto START

:START
setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100

etherminer.exe --farm-recheck 200 -G -S us1.ethermine.org:4444 -FS us2.ethermine.org:4444 -O <My_Wallet_Hash>.<My_System_Name> >> log.txt 2>>&1

echo Error: Etherminer Application Exited >> log.txt
echo Attempting to Restart >> log.txt

goto START

该脚本本身运行良好,但现在我需要帮助让它在系统启动时启动。


感谢您的时间,也感谢您能提供的任何帮助。

答案1

您可以简单地使用 Windows 的“任务计划程序”在开机时执行脚本(假设您具有管理权限)。要创建新任务,请执行以下操作:

  1. 按键盘上的 WINDOWS+R
  2. 输入“taskschd.msc”并按 ENTER
  3. 单击位于“操作”部分的“创建基本任务...”
  4. 现在向导将帮助您创建任务

要在系统启动时启动该任务,您还需要执行以下操作(完成上述步骤并选择“启动时”作为触发器后):

  1. 双击您之前创建的任务
  2. 点击“更改用户或组...”
  3. 输入“LocalService”并按 ENTER
  4. 转到“条件”选项卡并取消选中所有选项,除非你想要一个条件
  5. 单击“确定”保存更改

测试新任务后,您可能会想知道为什么在 Windows 8 或 Windows 10 上使用“关机”然后重新启动电脑时,您的任务没有被触发。这是由“快速启动”功能引起的,该功能在每个 Windows 8 或 10 系统上默认启用,它通过休眠核心系统实现更快的启动,核心系统仅在关机时将内核和其他系统相关组件的 RAM 数据复制到硬盘上的文件中,并在启动时将该数据复制回来。因此,您的任务通常永远不会被触发,因为系统从不完全关机,也从不完全启动,除非进行系统更新或使用 Windows 的“重新启动”功能。

要停用“快速启动”,请转到“控制面板>硬件和声音>电源选项>系统设置”,然后取消选中“打开快速启动”框。

要在启动时运行脚本而不禁用“快速启动”,请查看以服务方式运行它可以帮助您将脚本注册为服务。BAT 脚本的示例:

RunAsService.exe install "yourservicename" "C:\Windows\System32\cmd.exe" "/C C:\Program Files\myscripts\dosomething.bat"

提示:如果 RunAsService.exe 返回“从服务器返回了一个引用。”,请打开其属性,转到“兼容性”选项卡,单击“更改所有用户的设置”,选中“以管理员身份运行此程序”,然后单击两次“确定”。

在每次启动时运行脚本/程序而不禁用“快速启动”的另一种方法是使用“taskschd.msc”设置一个任务,即使启用了“快速启动”,该任务的触发器也是每次启动时生成的系统事件。

答案2

也许您的计算机会自动登录?运行>“control userpasswords2”并取消勾选需要密码登录。

或者您可以引用注册表中的脚本:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

相关内容