【Windows】クリップボードに現在時刻をコピーするスクリプト【.exe付き】

以下のスクリプトコマンドラインで走らせるだけ。

ruby -Ks -e "require 'rubygems';require 'win32/clipboard';Win32::Clipboard.set_data(Time.now.strftime('%Y%m%d%H%M%S'))"

ただし準備が必要。

※以降は ActiveScriptRuby 1.8.7 の使用を前提とします。

※別バージョンが入っていても、ASRをインストールするとデスクトップにできる「ruby console」を実行して出るプロンプトから操作すればたぶんOKです。


準備: Win32Utils軍の一ライブラリ、「win32/clipboard」をインストール


後から標準ライブラリの場所に移すとしても、とりあえずgemでインストールすると楽です。

gem install win32-clipboard


そして実行。(リファクタリングして再掲)

#!ruby -Ks
require 'rubygems' #gemを使用する場合のみ
require 'win32/clipboard'
now_strftime = Time.now.strftime('%Y%m%d%H%M%S')
Win32::Clipboard.set_data(now_strftime)"

クリップボードに、現在時刻の文字列がstrftimeで指定したフォーマットで格納されます。


そしてexe化。(Exerb使用)

# レシピファイル生成
> mkexy timeclip.rb

# 実行ファイル作成
> exerb timeclip.exy

お待ちかねの実行ファイルができました。

http://myokoym.net/file/timeclip.zip



おまけ・gemからライブラリ部分を抽出するスクリプト(例)

~\lib\ruby\gems\1.8\gems>ruby -r fileutils -e "Dir.glob('**/*'){|fn|next unless File.directory?(fn);FileUtils::Verbose.cp_r(fn, '.') if /lib\/(win32|windows)\z/ =~ fn}"




■参考

Rubyist Magazine - Ruby Library Report 【第 4 回】 Win32Utils
http://jp.rubyist.net/magazine/?0005-RLR


Exerb Project
http://exerb.sourceforge.jp/


Exerb - チュートリアル
http://exerb.sourceforge.jp/man/doc/tutorial.ja.html