استرجاع تواريخ إنشاء الملفات في Windows باستخدام Go
عند التعامل مع الملفات، غالبًا ما يكون من الضروري استرداد معلومات مثل تاريخ إنشائها. في حين أن حزم Go الشائعة مثل os.Stat وos.Chtimes توفر نظرة ثاقبة لسمات الملفات الأخرى، فإن الحصول على تاريخ الإنشاء يبدو أمرًا صعبًا. ستوضح هذه المقالة حلاً محددًا للوصول إلى تاريخ إنشاء الملفات في بيئات Windows.
بخلاف السمات الأخرى، لا يمكن الوصول إلى تاريخ الإنشاء بسهولة باستخدام الطرق المذكورة أعلاه. بدلاً من ذلك، يجب علينا التعمق في أسلوب FileInfo.Sys، الذي يوفر هياكل بيانات خاصة بالنظام. بالنسبة لنظام التشغيل Windows، يتوافق هذا مع نوع syscall.Win32FileAttributeData.
يشمل نوع Win32FileAttributeData العديد من سمات الملف، بما في ذلك حقل CreationTime. يحتوي هذا الحقل على نوع Filetime، والذي يمثل عددًا صحيحًا 64 بت يمثل عدد النانو ثانية منذ 1 يناير 1601.
لاسترداد وقت الإنشاء بتنسيق Unix Timestamp، يمكننا استخدام الكود التالي:
d := fi.Sys().(*syscall.Win32FileAttributeData) cTime = time.Unix(0, d.CreationTime.Nanoseconds())
يسمح لنا هذا الأسلوب بالحصول على تاريخ إنشاء الملفات بكفاءة في بيئة Windows. ومع ذلك، من المهم ملاحظة أن هذا الحل خاص بنظام Windows ويجب أن يكون متضمنًا في قيود البناء. يمكن تحقيق ذلك إما عن طريق وضع الكود في ملف _windows.go أو حمايته باستخدام التوجيه //go:build windows.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3