ディレクトリの読み取り専用属性をアーカイブ属性に変えるには

[戻る]
aharen [E-Mail] [HomePage] 2006/07/31(月) 09:08:57
WindowsXP Pro(SP2) VC++6.0(SP6) SDK(アップデートしました)

RemoveDirectory関数でディレクトリを削除しようとしたらできませんでした
調べたら読み取り専用にチェックがはいていたので
手動操作でこれを消してアーカイブにチェックをいれたら
RemoveDirectory関数で削除できました

手動操作でなくプログラムで読み取り専用を消してアーカイブにするには
どのような方法があるのでしょうか
SetFileAttributes関数は使ってみたのですができませんでした
ご存知のかた教えてください
過去ログは"ディレクトリ"をキーにして検索しましたが無かったようです
よろしくおねがいします

三草 2006/07/31(月) 22:36:07
わざわざアーカイブにせずとも、
FILE_ATTRIBUTE_NORMAL
で消せませんか?
ちと試してみましたが、SetFileAttributes()の後、RemoveDirectory()で消せましたよ。

> SetFileAttributes関数は使ってみたのですができませんでした
ちなみにどのように使ってみましたか?

aharen [E-Mail] [HomePage] 2006/08/01(火) 13:59:13
[[解決]]
ご教示ありがとうございました

1.おっしゃるとおり
SetFileAttributes(パス名,FILE_ATTRIBUTE_NORMAL)の後、
RemoveDirectory(パス名)で消せました

2.SetFileAttributes(パス名,FILE_ATTRIBUTE_ARCHIVE)
を使っていましたが
つぎのようなことがわかりました

3.読み取り専用属性は
SetFileAttributes(パス名,FILE_ATTRIBUTE_ARCHIVE)でも
SetFileAttributes(パス名,FILE_ATTRIBUTE_NORMAL)でも
消せないが
4.RemoveDirectory(パス名)は読み取り専用属性には関係ない

////////////////////////////////////////////////////////

お手数おかけしました

古いスレッドには追加発言できません。