山本です。

>> >> 第一引数に元のファイルパス、第二引数にコピー先のディレクトリを受け取り
>> >> ハードリンクを生成するようなプログラムを用意すれば、HDD の負荷が低減します。
>> >> とりあえず私はこんなのを使っています。(Windows専用)
>> >
>> >lnならgnuwin32にもあるんじゃないでしょうか。
>> 
>> http://gnuwin32.sourceforge.net/packages/ にはないようでした。
>> でも、ln という Unix コマンドがあるのだから、どこかにあっても
>> おかしくないですね。(組んだとき ln という名前が頭にうかばなかった・・・)
>
>そのへんの小物はfileutilsとしてまとめられてます。gnuwin32だと、
>http://gnuwin32.sourceforge.net/packages/fileutils.htm ですね。

ありがとうございます。試してみたところ、第二引数にディレクトリが
渡される関係で、単純に

Index: Makefile.sub
===================================================================
RCS file: /src/ruby/bcc32/Makefile.sub,v
retrieving revision 1.84
diff -u -w -b -p -r1.84 Makefile.sub
--- Makefile.sub	25 Oct 2005 16:59:17 -0000	1.84
+++ Makefile.sub	7 Nov 2005 10:21:04 -0000
@@ -340,7 +340,7 @@ s,@AR@,$(AR),;t t
 s,@ARFLAGS@,$(ARFLAGS) ,;t t
 s,@LN_S@,$(LN_S),;t t
 s,@SET_MAKE@,$(SET_MAKE),;t t
-s,@CP@,copy > nul,;t t
+s,@CP@,ln,;t t
 s,@INSTALL@,copy > nul,;t t
 s,@INSTALL_PROG@,$$(INSTALL),;t t
 s,@INSTALL_DATA@,$$(INSTALL),;t t

とするのでは

        ln ..\..\..\ruby\ext\tk\lib\tk\after.rb ..\..\.ext\tk
ln: `..\\..\\.ext\\tk\\..\\..\\..\\ruby\\ext\\tk\\lib\\tk\\after.rb': File exist
s
NMAKE : fatal error U1077: 'ln' : リターン コード '0x1'
Stop.
NMAKE : fatal error U1077: '.\miniruby.exe' : リターン コード '0x1'
Stop.

とエラーになってうまくいきませんでした。でもまあ、こういった小物をつくるのも
それなりに楽しいので、私は自前のプログラムで行こうと思います。


Tietew <tietew-ml-ruby-dev / tietew.net> wrote:
(2005/11/07 19:33)

>miniruby -run ln でできないですか。

ruby で組むのは最初やってみたのですが、ファイル一つごとに ruby が起動することに
なるので、若干遅さを感じました。激しく遅いというわけではないのですが、やはり
速いほうが気持ちいいので、C/C++ で組むことにしました。