2006年05月28日
川俣晶の縁側ソフトウェアその他開発日誌total 2723 count

NT版UNIX-like toolsのcpでディレクトリのタイムスタンプがコピーされない問題

Written By: 川俣 晶連絡先

 NT版UNIX-like toolsのcpコマンドで、-rと-pオプションを使ってディレクトリ再帰コピーとタイムスタンプのコピーさせたとき、ディレクトリのタイムスタンプがコピーされませんでした。

 この問題は、Version 0.13で解消されました。

再現手順 §

 カレントディレクトリに、ディレクトリt1があり、t2が無いとき、以下のコマンドを実行します。

cp -rp t1 t2

 ディレクトリt1とt2のタイムスタンプ(作成と変更)は同じでなければならないのに、Version 0.12以前のものは食い違っていました。

原因と対策 §

 この問題は原因が2つあります。

 第1の原因は、Win32対応のコードを書き込んだときに、そのコードが誤っていたことです。ディレクトリを開く場合にFILE_FLAG_BACKUP_SEMANTICSを指定しなければならないのに、それが入っていませんでした。

 第2の原因は、NT系カーネルの場合、ディレクトリ内のファイルを書き換えるとディレクトリの変更日付時刻も変わるという仕様のため、たとえ正しい日付時刻の設定に成功してもそれが書き換わってしまうことでした。これは、ディレクトリの日付時刻を設定するタイミングをディレクトリ内の全ファイルのコピー終了後に移動させることで対処しました。

Facebook

キーワード【 川俣晶の縁側ソフトウェアその他開発日誌
【その他開発日誌】の次のコンテンツ
2006年
08月
24日
画面キャプチャ支援ツール "piclip" 販売中&Ver1.01リリース
3days 0 count
total 2169 count
【その他開発日誌】の前のコンテンツ
2006年
05月
28日
NT版UNIX-like toolsのtail, wcが行末で終わらないファイルの最後の行をカウントしない問題
3days 0 count
total 3585 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20060528192734
サイトの表紙【その他開発日誌】の表紙【その他開発日誌】のコンテンツ全リスト 【その他開発日誌】の入手全リスト 【その他開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.