ڈائریکٹریز کے بجائے زمرہ جات۔ آسان فائل اسٹوریج کے لیے ایک ٹول

حوصلہ افزائی مضامین

"ڈائریکٹریوں کے بجائے زمرہ جات، یا لینکس وائٹس کے لیے سیمنٹک فائل سسٹم"

میں نے افادیت کا اپنا ینالاگ بنانے کا فیصلہ کیا۔ vitis پاور شیل کور کے لیے۔

میں نے ایسا کیوں کرنا شروع کیا۔

سب سے پہلے، vitis صرف لینکس کے لیے۔
دوسرا، میں پاور شیل میں "پائپس" استعمال کرنا چاہتا ہوں۔

چونکہ میں ایک کراس پلیٹ فارم یوٹیلیٹی بنانا چاہتا تھا، اس لیے میں نے .Net Core کا انتخاب کیا۔

پس منظر

پہلے تو افراتفری مچ گئی۔ پھر فولڈرز ڈسک پر نمودار ہوئے۔
لیکن پھر بھی افراتفری کا راج تھا۔ اور ٹیگز نمودار ہوئے، ساتھ ہی ذیلی ٹیگز اور ٹیگ مترادفات۔ لیکن افراتفری نے انہیں بھی اپنی لپیٹ میں لے لیا۔ اور زمرے ایجاد ہوئے۔

تصور

فائلوں کو فولڈر کے درجہ بندی میں ذخیرہ نہیں کیا جاتا ہے، لیکن مخصوص زمروں کے ساتھ، ایک "ڈھیر" میں. ایک فائل کئی زمروں سے تعلق رکھتی ہے۔

اگر آپ کو کوئی فائل تلاش کرنے کی ضرورت ہے، تو ان زمروں میں داخل ہونا زیادہ آسان ہے جن سے اس کا تعلق ہے۔ یہ یاد رکھنا بہت آسان ہے اس سے کہ یہ کن فولڈرز میں محفوظ ہے۔

لیکن ایسا فائل سسٹم کسی بھی طرح سے کوڈ، ذرائع وغیرہ کو ذخیرہ کرنے کے لیے موزوں نہیں ہے۔
اسے ذخیرہ کرنے کے لیے ڈیزائن کیا گیا ہے، مثال کے طور پر، خاندانی تصاویر، موسیقی، دستاویزات۔

استعمال کریں

ٹھیک ہے، آئیے مظاہرے کے ساتھ شروع کرتے ہیں۔

گرافائل انسٹال کریں:

# install.ps1 находится в корневой папке с кодом
PS D:SourcereposGraphile> .install.ps1

پہلے ہم فولڈر میں گرافائل کو شروع کرتے ہیں:

# Импортируем установленный модуль
PS C:UsersDellGraphileTest> Import-Module GraphilePowerShell
# Инициализируем Graphile в папке
PS C:UsersDellGraphileTest> Init-Graphile
C:UsersDellGraphileTestgraphile.db

تو ہم نے سب کچھ ترتیب دیا ہے۔ اب آپ ایک نیا زمرہ بنا سکتے ہیں:

PS C:UsersDellGraphileTest> New-Category -Name "music"
music

آئیے فائلیں شامل کریں:

PS C:UsersDellGraphileTest> Get-ChildItem "D:MusicPink Floyd - The Wall" -Recurse -Filter "*.mp3" | foreach { $_.FullName } | foreach {
>> Add-FileToCategory -File $_ -Categories "music"
>> }

ان لوگوں کے لیے جو یہ نہیں سمجھتے کہ میں نے کیا کیا:

  1. ایک فولڈر میں فائلوں کی فہرست ملی Pink Floyd - The Wall
  2. ہر فائل کو اس کے مکمل راستے میں تبدیل کر دیا گیا تھا۔
  3. ہر فائل کو زمرہ میں شامل کیا گیا۔ music

اب آئیے چیک کریں کہ آیا ہم نے واقعی فائلوں کو زمرہ میں شامل کیا ہے:

PS C:UsersDellGraphileTest> 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:MusicThe 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

سب کچھ کام کر رہا ہے!

لیکن یہ تو صرف شروعات ہے۔ اپنے باقاعدہ فائل سسٹم کو گرافائل میں ایکسپورٹ کریں اور فائل آرگنائزیشن حاصل کریں۔

گرافائل کہاں سے ڈاؤن لوڈ کریں۔

یہاں لنک گرافائل کے گٹ لیب پر۔

لائسنس MIT، تو آپ اسے تجارتی مقاصد کے لیے بھی استعمال کر سکتے ہیں۔

منصوبے کا مستقبل

چونکہ یہ پاور شیل ہے، اور پاگل چیزیں نہیں، آپ .NET کور کے لیے گرافیکل شیل بنا سکتے ہیں۔

یہ کیسے کریں:

  1. Microsoft.PowerShell.SDK انسٹال کریں۔
  2. پاور شیل کلاس استعمال کریں اور گرافائل کو کال کریں۔

اگر آپ کو پروجیکٹ پسند ہے تو کمٹمنٹ کریں، merge requestکی اور بحثیں تخلیق کریں۔

پڑھنے کا شکریہ! اسے استعمال کریں اور لطف اٹھائیں!

ماخذ: www.habr.com

نیا تبصرہ شامل کریں