FileAttributes attrs = File.GetAttributes( path);
File.SetAttributes( path, FileAttributes.Hidden );
attrs = File.GetAttributes( path);
このコード スニペットは、私の NTFS ファイル システム (C:\Temp...\whatever_file) で動作します。しかし、USB キー (FAT ファイル システム) で同じ操作を実行しようとすると、Hidden 属性が正しく設定されません。Windows エクスプローラーで手動で設定すると、最初の行は設定されていることを正しく返します。しかし、3行目(チェック中)は、設定されていない場合は設定しません。
理由を教えてくれる人には子犬を無料で差し上げます。:)
更新: 動作しないと言うときは、Windows エクスプローラーに戻ってファイルを確認すると、隠し属性が設定されていないことを意味します。実際、2 番目の GetAttributes を実行すると、ビットが設定されていることがわかります。しかし、Windows エクスプローラーでは設定されていません。USBキーを取り外して再挿入しても、正しく更新されることを確認してください。