`
dazuiba
  • 浏览: 131452 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

教给你在bat里面写ruby代码(附带同步时间的脚本示例)

    博客分类:
  • ruby
阅读更多
在windows bat文件中写ruby代码,得解决两个问题:
1 windows的bat解析器跳过ruby代码。
2 ruby解析器跳过bat代码


那么bat脚本的样子应该是这样子:

"ruby" -x "%~f0" %*
goto endofruby
#!/bin/ruby
#ruby -x will skip text before !ruby
p "sdf"
__END__
:endofruby

附赠一个时间同步的例子:sync_time.bat
@echo off
"ruby" -x "%~f0" %*
goto endofruby
#!/bin/ruby
#ruby -x will skip text before !ruby
def sync_time
	time=get_time_bjtime()
end
def get_time_bjtime
  require 'open-uri'
	p 'geting from bjtime...'
	time_string=open('http://bjtime.cn/header3.asp').string.gsub(/\r|\n| /,"")
	time_string=~/nyear=(\d+).*nmonth=(\d+).*nday=(\d+).*nhrs=(\d+).*nmin=(\d+).*nsec=(\d+).*/
	y,mon,d,h,min,s=$1,$2,$3,$4,$5,$6
	p time_string
	p "got #{y}-#{mon}-#{d} #{h}:#{min}:#{s}"
  system("date #{y}-#{mon}-#{d}")
	system("time #{h}:#{min}:#{s}")
end
if __FILE__ == $0
  sync_time
end
__END__
:endofruby


分享到:
评论
7 楼 xujun2008 2008-11-23  
在bat中写ruby代码?

如果在*nix上就可以直接用 here doc
#!/bin/sh
ruby << EOF
puts 'Some Ruby Code here'
EOF

在win*上一般是间接生成文件
@echo off
echo put "Some Ruby Code here" > aaa.rb
ruby aaa.rb
del aaa.rb

碰到管道操作符 | > < 记得要 ^ 转义 显得很麻烦
6 楼 王者之剑 2008-11-06  
这个跳来跳去的功能有什么用呢?
5 楼 robbin 2008-10-13  
goncha 写道
robbin 写道
太麻烦了,看我一条命令就搞定了:

ntpdate time.nuri.net


老大,貌似LZ是W系的


装个cygwin嘛。
4 楼 goncha 2008-10-13  
robbin 写道
太麻烦了,看我一条命令就搞定了:

ntpdate time.nuri.net


老大,貌似LZ是W系的
3 楼 dazuiba 2008-10-13  
我标题本末倒置了。
得,改标题了。
2 楼 robbin 2008-10-13  
太麻烦了,看我一条命令就搞定了:

ntpdate time.nuri.net
1 楼 花花公子 2008-10-13  
http://snippets.dzone.com/posts/show/6146

gem install ntp

 
include NET
 
r = NTP.get_ntp_response()
puts r.inspect

相关推荐

    rex & racc 去掉注释的例子代码

    这个压缩包包含了一些示例代码,展示了如何使用这两个工具去除代码中的注释。 `rex`(Regular Expression Extractor)通常用于提取文本中的特定模式,如注释。在编程语言中,注释是为了增加代码可读性而添加的非...

    seam-gen命令解析文档

    通过上述介绍可以看出,`seam-gen`命令为开发者提供了极大的便利,不仅可以在短时间内搭建好整个项目的基础框架,还可以快速生成常见的业务逻辑代码。这对于加快开发进度、提高代码质量都有着重要的意义。然而,在...

    2AM API接口和返回的版本

    目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 ...

    lubyjs:生成喷泉代码擦除代码(鲁比变换,鲁棒)

    “lubyjs”是一个与Ruby变换相关的项目,主要功能是生成喷泉代码(Fountain Code)和擦除代码(Erasure Code)。喷泉代码是一种纠错编码技术,能够有效地应对数据丢失或损坏的情况,尤其适用于流媒体、无线通信等...

    window下搭建redis.zip

    7. **redis-cluster**:可能是一个目录,包含了与Redis集群相关的其他文件,比如配置文件或者示例脚本。 搭建流程大致如下: 1. 安装Ruby环境,运行`rubyinstaller-2.2.4-x64.exe`。 2. 使用Ruby安装Redis gem,...

    fitnesse开源包

    而对于C++项目,可以通过将C++代码封装为DLL(动态链接库),然后利用Ruby作为桥梁,通过Fitnesse进行测试,这样实现了对C++代码的自动化测试。 标签"fitnesse"进一步确认了这个压缩包与Fitnesse测试框架相关。 ...

    ActiveMQ教程

    - **普通启动**:在Windows下,双击bin目录下的activemq.bat脚本;在Linux下,执行bin目录下的activemq.sh脚本。 - **指定日志文件启动**:在Linux下,可以通过重定向输出来指定日志文件位置,例如执行`./activemq ...

    apache-activemq-5.15.0-bin2.zip

    2. **启动ActiveMQ**: 在bin目录下,运行相应的启动脚本(如在Windows上是`start.bat`,在Unix/Linux上是`bin/activemq start`)。 3. **配置**: 可以在conf目录下的`activemq.xml`文件中配置服务器的各种参数,如...

    ASP API接口和返回的版本

    目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 ...

    JSP API接口和返回的版本

    目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 ...

    PHP API接口和返回的版本

    目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 ...

    .NET API接口和返回的版本

    目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 ...

    JS JSP ASP .NET J2AM API接口和返回的版本

    目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 ...

    JS API接口和返回的版本

    目前所有版本的JS JSP ASP .NET J2AM 都是提供源代码的,对于一些脚本语言来说,直接解压缩之后就可以使用了,不需要什么安装步骤。另外一些需要编译的语言,则提供了编译用的 shell 文件(Linux/Unix 下使用)和 ...

    redis在windos下搭建集群

    ### Redis在Windows下搭建集群详解 #### 一、概述 Redis 是一款开源的高性能键值存储系统,广泛应用于缓存、消息队列等场景。在实际应用中,单个 Redis 实例往往难以满足大规模分布式系统的需求,因此需要通过搭建...

    opsworks-windows-demo-nodejs:可在AWS OpsWorks上运行的示例Node.JS应用程序

    4. **启动脚本**:可能有一个`start.sh`或`start.bat`文件,用于在OpsWorks实例上启动Node.js应用。 5. **测试**:可能包含单元测试或集成测试,以验证应用的功能。 6. **README**:项目说明文档,可能包括部署和...

    RegexBuddy3

    6. **便捷操作**:提供的`.bat`脚本文件可能用于快速启动或自动化某些任务,而`.jgcscs`文件则可能是特定语言配置或扩展的数据文件。 综上所述,RegexBuddy3作为一款专业的正则表达式工具,它不仅提供了强大的匹配...

    jdk6.0-01.zip

    4. **动态语言支持**:通过JSR 223(Scripting for the Java Platform)引入了脚本语言支持,使得可以在Java环境中使用JavaScript、Ruby等脚本语言。 5. **改进的JVM**:JVM进行了优化,提高了运行速度和内存管理...

    win7 64位Qt5.4.0静态编译配置

    - 运行`configure.bat`脚本进行编译前的配置。 - 示例命令: `configure.bat -confirm-license -opensource -platform win32-g++-mp -release -static -prefix "C:\Qt\5.4.0_MinGW_static" -qt-sql sqlite -qt-zlib ...

Global site tag (gtag.js) - Google Analytics