محاكاة منصة شجرة الدليل بشكل مستقل
-
26-09-2019 - |
سؤال
أنا أستخدم QT و Ruby في تطبيق حيث يتعين علي معالجة بعض الدلائل وإعادة تسمية/نقل الملفات. ومع ذلك ، قبل التلاعب الفعلي ، أحتاج إلى إظهار "معاينة" ، أي محاكاة التغييرات. ما قمت به على OS X و Linux هو مجموعة من mkdir
و touch
الأوامر ، في مساحة TMP قابلة للكتابة ، لبناء "شجرة الدليل" المذكورة ، تغذي ذلك إلى QT's QFileSystemModel
أداة و QTreeView
, ، وسأحصل على النتائج المتوقعة.
ومع ذلك ، لا يمكنني فعل ذلك على Windows ، لأنني لم أجد نظيرًا أصليًا touch
وبالتالي لم أستطع إظهار الملفات. أحد الاقتراحات التي تتبادر إلى الذهن هي إنشاء شجرة الدليل الخاصة بي في الذاكرة ، ولكن بعد ذلك لا يمكنني إطعامها QFileSystemModel
أي أكثر من ذلك.
كيف يمكنني أن أفعل هذا؟
المحلول
يأتي Windows مع أداة تسمى Fsutil ، والتي يمكن استخدامها لإنشاء ملفات وهمية مماثلة لأمر Unix Touch:
FSUTIL FILE CreateNew طول المسار
لست متأكدًا مما إذا كانت FSUTIL موجودة لكل افتراضي على الإصدارات المنزلية لنظام التشغيل Windows ، ولكن على الأقل في الإصدارات المهنية من XP عبر Windows 7.
انظر الوثائق الكاملة ل fsutil.