【问题标题】:Auto run ruby script on windows start在 Windows 启动时自动运行 ruby​​ 脚本
【发布时间】:2024-05-25 20:55:02
【问题描述】:

我写了一个 ruby​​ 脚本。

脚本获取 mysites alexa 排名并将该值保存在文本文件中。但现在我必须手动运行这个脚本。我可以自动化吗?例如,我想在 Windows 启动或设置 cronjob 时自动运行此脚本。有可能吗?

我的脚本:

require 'net/http'
require 'rexml/document'
require 'date'


url = 'http://www.example.com'

xml_data = Net::HTTP.get_response(URI.parse('http://data.alexa.com/data?cli=10&data=snbamz&url='+url)).body
doc = REXML::Document.new(xml_data)

doc.elements.each('ALEXA/SD/POPULARITY') do |ele|
    $alexaValue =  ele.attributes["TEXT"]
    break
end

$today  = Date.today
$echo   =  "#{$today} - #{$alexaValue} - #{url} \n"


File.open("alexa.txt", 'a+') {|f| f.write($echo) }

【问题讨论】:

  • 你试过什么?为什么它与在 windows 启动或作为 cronjob 上运行其他任何东西不同?
  • 而不是问“这可能吗?” (正确答案是“是”)您能否解释一下阻止您使用的原因? Windows 任务管理器或添加到开始/启动菜单?
  • 我现在不知道如何实现自动化以及正确的方法是什么,我之前没有编写任何 ruby​​ 代码
  • 如果您知道如何手动运行它 - 只需创建一个执行此操作的 bat 文件,然后在 `%AppData%\Microsoft\Windows\Start Menu\Programs\ Startup`,就像上面的帖子所暗示的那样......

标签: windows autorun


【解决方案1】:

创建 cmd.exe 的快捷方式,并将其放入开始菜单的启动文件夹中。

在快捷方式的属性中,找到目标字段并将其放入其中。

C:\Windows\System32\cmd.exe /K "ruby C:\Users\username\Documents\rubyscript.rb"

执行它并确保它有效。然后它应该在启动时工作。

【讨论】: