مستوحاة من المادة
"الفئات بدلاً من الدلائل ، أو نظام الملفات الدلالية لنظام Linux Vitis" ،
قررت أن أصنع vitis
الخاصة للأداة المساعدة vitis
لـ PowerShell Core.
لماذا بدأت في القيام بذلك؟
أولاً ، vitis
لنظام Linux فقط.
ثانياً ، أريد استخدام "الأنابيب" في PowerShell.
بما أنني أردت إنشاء أداة مساعدة عبر الأنظمة الأساسية ، فقد اخترت .Net Core.
قبل التاريخ
في البداية كانت هناك فوضى. ثم ظهرت المجلدات على القرص.
لكن الفوضى لا تزال سائدة. وظهرت العلامات ، وكذلك العلامات الفرعية والمرادفات للعلامات. لكن الفوضى استولت عليها أيضا. وفئات اخترع.
مفهوم
لا يتم تخزين الملفات في التسلسل الهرمي للمجلدات ، ولكن في كومة الذاكرة المؤقتة ، مع فئات معينة. يمكن أن ينتمي ملف واحد إلى عدة فئات.
إذا كنت بحاجة إلى العثور على ملف ، فمن الملائم إدخال الفئات التي ينتمي إليها. من الأسهل بكثير تذكر ما في المجلدات المخزنة عليه.
لكن نظام الملفات هذا لا يناسب بأي حال من الأحوال تخزين الأكواد البرمجية أو أكواد المصدر ، إلخ.
وهي مصممة لتخزين ، على سبيل المثال ، الصور العائلية والموسيقى والمستندات.
استخدام
حسنا ، دعنا نبدأ المظاهرة.
تثبيت Graphile:
# install.ps1 PS D:\Source\repos\Graphile> .\install.ps1
أولاً ، قم بتهيئة Graphile في المجلد:
# PS C:\Users\Dell\GraphileTest> Import-Module GraphilePowerShell # Graphile PS C:\Users\Dell\GraphileTest> Init-Graphile C:\Users\Dell\GraphileTest\graphile.db
لذلك ، نحن جميعا إعداد. الآن يمكنك إنشاء فئة جديدة:
PS C:\Users\Dell\GraphileTest> New-Category -Name "music" music
أضف الملفات:
PS C:\Users\Dell\GraphileTest> Get-ChildItem "D:\Music\Pink Floyd - The Wall" -Recurse -Filter "*.mp3" | foreach { $_.FullName } | foreach { >> Add-FileToCategory -File $_ -Categories "music" >> }
لأولئك الذين لم يفهموا ما فعلت:
- حصلت على قائمة الملفات في مجلد
Pink Floyd - The Wall
- تم تحويل كل ملف إلى مسار كامل لهم
- إضافة كل ملف إلى فئة
music
تحقق الآن مما إذا أضفنا الملفات حقًا إلى الفئة:
PS C:\Users\Dell\GraphileTest> List-Graphiles | Format-Table
سيتم عرض قائمة بالتنسيق:
CategoriesNames Id Categories Name Extension
إضافة المزيد من الفئات والملفات:
New-Category -Name "the-wall" New-Category -Name "alan-parsons" List-Graphiles -Categories "music" | foreach { Add-GraphileToCategory -Categories "the-wall" -Files $_.Name } Get-ChildItem "D:\Music\The Alan Parsons Project - Turn of a Friendly Card" -File -Recurse | foreach { $_.FullName } | foreach { Add-FileToCategory -File $_ -Categories "music", "alan-parsons" }
تحقق من الملفات:
List-Graphiles -Categories "alan-parsons" | Format-Table
سيقوم الأمر بسرد جميع الملفات التي تنتمي إلى alan-parsons
.
المزيد من الملفات إلى أنظمة الملفات الله!
New-Category -Name "images" Get-ChildItem "D:\" -File -Recurse | foreach { $.FullName } | foreach { Add-FileToCategory -File $_ -Categories "images" }
نتحقق من:
List-Graphiles -Categories "images" | Format-Table
كل شيء يعمل!
ولكن هذه ليست سوى البداية. قم بتصدير نظام الملفات العادي إلى Graphile واحصل على تنظيم ملفات رائع.
حيث لتحميل Graphile
هنا رابط إلى GitLab Graphile.
MIT
، بحيث يمكنك استخدامه حتى لأغراض تجارية.
مشروع المستقبل
نظرًا لأن هذا هو PowerShell ، وليس khukh-mukhra ، يمكنك إنشاء غلاف رسومي ضمن .NET Core.
كيف تفعل ذلك:
- تثبيت Microsoft.PowerShell.SDK
- استخدم فئة PowerShell واتصل بـ Graphile.
إذا أعجبك المشروع ، فقم بالالتزام merge request
وإنشاء مناقشات.
شكرا للقراءة! استخدام والتمتع به!