2016-11-15 11 views
2

UNIXの "cp -pL"コマンドと同等のTclは何ですか? 見つからないfile command説明UNIXの "cp -pL"コマンドのTclと同等

+1

クイックリファレンス: '-p'すなわち、リンクなどのリンクをコピーしていない(フォローのシンボリックリンクのためのメタデータ、' -L'を維持するためではなく、何が指しているか)再帰モードでは –

答えて

2

単一のファイルの場合: a)ファイルへの実際のパスを取得します。 b)コピーします。 c)属性、変更時刻、およびアクセス時刻を設定します。

残念ながら、変更時間(Windowsの作成時間)を設定する方法はありません。

set fn sourcefn 
set tofn targetfn 
set nfn [file normalize [file readlink $fn]] 
file copy -force $nfn $tofn 
foreach {key} [list attributes mtime atime] { 
    set temp [file $key $nfn] 
    file $key $tofn {*}$temp 
} 

これはUNIX、Mac OS XおよびWindowsで動作する純粋なTclソリューションです。もちろん、あなたがやるだけのことができます:

exec cp -pLf $from $to 

参考文献:file

+0

偉大な答え。私は特に、 'exec'を使用することがOKであることを示唆しています。 –

関連する問題