Kategoritë në vend të drejtorive. Një mjet për ruajtjen e përshtatshme të skedarëve

I frymëzuar artikull

"Kategoritë në vend të drejtorive, ose një sistem skedarësh semantikë për Linux Vitis»,

Vendosa të bëj analogun tim të shërbimeve vitis për PowerShell Core.

Pse fillova ta bëj këtë

Së pari, vitis vetëm për Linux.
Së dyti, unë dua të përdor "tuba" në PowerShell.

Meqenëse doja të bëja një program ndër-platformë, zgjodha .Net Core.

parahistorinë

Në fillim kishte kaos. Pastaj dosjet u shfaqën në disk.
Por kaosi ende mbretëronte. Dhe u shfaqën etiketat, si dhe nën-etiketat dhe sinonimet e etiketave. Por kaosi i kapi edhe ata. Dhe kategoritë u shpikën.

koncept

Skedarët nuk ruhen në një hierarki dosjesh, por në një "grumbull", me kategori specifike. Një skedar mund t'i përkasë disa kategorive.

Nëse keni nevojë të gjeni një skedar, është më e përshtatshme të futni kategoritë të cilave u përket. Kjo është shumë më e lehtë për t'u mbajtur mend sesa në cilat dosje ruhet.

Por një sistem i tillë skedarësh nuk është aspak i përshtatshëm për ruajtjen e kodit, burimeve, etj.
Është projektuar për të ruajtur, për shembull, foto familjare, muzikë, dokumente.

Përdorim

Epo, le të fillojmë me demonstrimin.

Instaloni Graphile:

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

Së pari ne inicializojmë Graphile në dosje:

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

Pra, ne kemi gjithçka të vendosur. Tani mund të krijoni një kategori të re:

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

Le të shtojmë skedarë:

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

Për ata që nuk e kuptojnë se çfarë bëra:

  1. Mori një listë skedarësh në një dosje Pink Floyd - The Wall
  2. Çdo skedar u konvertua në rrugën e tij të plotë
  3. U shtua çdo skedar në kategori music

Tani le të kontrollojmë nëse kemi shtuar vërtet skedarë në kategori:

PS C:UsersDellGraphileTest> List-Graphiles | Format-Table

Një listë do të shfaqet në formatin:

CategoriesNames Id Categories Name Extension

Le të shtojmë më shumë kategori dhe skedarë:

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" }

Le të kontrollojmë skedarët:

List-Graphiles -Categories "alan-parsons" | Format-Table

Komanda do të listojë të gjithë skedarët që i përkasin kategorisë alan-parsons.

Më shumë skedarë për perëndinë e sistemeve të skedarëve!

New-Category -Name "images"
Get-ChildItem "D:Изображения" -File -Recurse | foreach { $.FullName } | foreach {
    Add-FileToCategory -File $_ -Categories "images"
}

kontrolloni:

List-Graphiles -Categories "images" | Format-Table

Gjithçka po funksionon!

Por ky është vetëm fillimi. Eksportoni sistemin tuaj të zakonshëm të skedarëve në Graphile dhe merrni një organizim të shkëlqyeshëm të skedarëve.

Ku mund të shkarkoni Graphile

Këtu lidhje në GitLab Graphile.

leje MIT, kështu që mund ta përdorni edhe për qëllime komerciale.

E ardhmja e projektit

Meqenëse ky është PowerShell, dhe jo gjëra të çmendura, mund të bëni një guaskë grafike për .NET Core.

Si të bëhet kjo:

  1. Instaloni Microsoft.PowerShell.SDK
  2. Përdorni klasën PowerShell dhe telefononi Graphile.

Nëse ju pëlqen projekti, bëni zotime, merge request's dhe krijoni diskutime.

Faleminderit per leximin! Përdoreni dhe kënaquni!

Burimi: www.habr.com

Bleni një host të besueshëm për faqet me mbrojtje DDoS, serverë VPS VDS 🔥 Bleni hosting të besueshëm të faqeve të internetit me mbrojtje DDoS, servera VPS VDS | ProHoster