Kategoritë në vend të direktorive. Një mjet për ruajtjen e lehtë të skedarëve.

Inspirova, artikull

«Kategoritë përveç drejtorive, ose Sistemi Semantik i Skedarëve për Linux Vitis»,

vendosa të krijoj analogun tim të utilitarit vitis për PowerShell Core.

Pse fillova ta bëj këtë

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

Duke qenë se doja të krijoja një utilitar multi-platformë, zgjodha .Net Core.

Historia e mëparshme

Fillimisht kishte kaos. Pastaj në disk u shfaqën dosjet.
Por kaosi ende mbizotëronte. U shfaqën etiketa, si dhe etiketa nënkategorike dhe sinonime etiketash. Por kaosi i kaploi ato. Dhe u shpikën kategoritë.

Koncepci

Skedarët ruhet jo në një hierarki dosjesh, por në një "grumbull", me kategori të caktuara. Një skedari mund t'i përkasë disa kategorive.

Nëse duhet të gjej një skedar, është më e lehtë të shkruaj kategoritë, të cilave i përket. Kjo është shumë më e lehtë për t'u mbajtur mend sesa në cilat dosje ruhet.

Por një sistem i tillë skedari nuk është aspak i përshtatshëm për ruajtjen e kodit, burimeve dhe kështu me radhë.
Ai është i destinuar për ruajtjen, për shembull, të fotografive familjare, muzikës, dokumenteve.

Përdorimi

Mirë, le të fillojmë me demonstimin.

Le të instalojmë Graphile:

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

Së pari inicializojmë Graphile në dosje:

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

Pra, tani kemi përfunduar gjithçka. Tani mund të krijojmë një kategori të re:

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

Le të shtojmë skedarët:

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

Atij që nuk e kuptoi se çfarë bëra:

  1. Mora listën e skedarëve në dosjen Pink Floyd - The Wall
  2. Çdo skedar e kam transformuar në rrugën e plotë për to
  3. Shtova çdo skedar në kategori music

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

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

Do të shfaqet një listë në format:

CategoriesNames Id Categories Name Extension

Le të shtojmë edhe 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ë shfaqë të gjitha skedarët që i përkasin kategorisë alan-parsons.

Më shumë skedarë për zotin e sistemeve të skedarëve!

New-Category -Name "images"
Get-ChildItem "D:Imazhe" -File -Recurse | foreach { $.FullName } | foreach {
    Add-FileToCategory -File $_ -Categories "images"
}

Po kontrollojmë:

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

Gjithçka funksionon!

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

Nga ta shkarkoni Graphile

Ja link në GitLab të Graphile'it.

Licenca MIT, kështu që mund ta përdorni madje edhe për qëllime comerciale.

E ardhmja e projektit

Pasi që kjo është PowerShell, dhe jo një gjë e zakonshme, mund të krijoni një ndërfaqe grafike nën .NET Core.

Si ta bëni këtë:

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

Nëse ju pëlqeu projekti, bëni komente, merge requestdhe krijoni diskutime.

Faleminderit për leximin! Përdorni dhe shijoni!

Burimi: habr.com

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster