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

Inkurajuar nga artikullin

«Kategoritë në vend të direktorive, ose Sistemi i Skedarëve Semantik për Linux Vitis»,

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

Pse fillova ta bëja këtë

Së pari, vitis vetëm për Linux.
Së dyti, do të doja të përdorja «tubat» në PowerShell.

Duke qenë se dëshiroja të krijoja një utilitar shumëplatformësh, zgjodha .Net Core.

Pas historia

Fillimisht kishte kaos. Pastaj ndodhën dosjet.
Por kaosi ende mbretëronte. U krijuan etiketa, si dhe nënetiketa dhe sinonime të etiketave. Por kaosi i kaploi ato. Dhe u shpikën kategoritë.

Koncepsi

Skedarët ruhen jo në një hierarki dosjesh, por në një «grumbull», me kategori të caktuara. Një skedar mund të përkasë në disa kategori.

Nëse duhet të gjejmë një skedar, është më e lehtë të shkruajmë kategoritë që i përkasin. Kjo është shumë më e lehtë për t'u mbajtur mend sesa në cilat dosje ruhet.

Por një sistem skedarësh i tillë në asnjë mënyrë nuk është i përshtatshëm për ruajtjen e kodit, burimeve dhe etj.
Ai është i destinuar për ruajtjen, për shembull, të fotografive familjare, muzikës, dokumenteve.

Përdorimi

Mirë, le të fillojmë me demonstrimin.

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

Tani, e kemi gjithçka të konfigurume. Tani mund të krijojmë një kategori të re:

PS C:\Users\Dell\GraphileTest> New-Category -Name "music"
muzik

Shtojmë skedarë:

PS C:\Users\Dell\GraphileTest> Get-ChildItem "D:\Music\Pink Floyd - The Wall" -Recurse -Filter "*.mp3" | foreach { $_.FullName } | foreach {
>> Add-FileToCategory -File $_ -Categories "music"
>> }

Për ata që nuk kuptuan çfarë bëra:

  1. Mora listën e skedarëve në dosje Pink Floyd - The Wall
  2. Çdo skedar u transformua në rrugë të plotë në to
  3. Shtova çdo skedar në kategori music

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

PS C:\Users\Dell\GraphileTest> List-Graphiles | Format-Table

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

CategoriesNames Id Categories Name Extension

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:\Music\The Alan Parsons Project - Turn of a Friendly Card" -File -Recurse | foreach { $_.FullName } | foreach { Add-FileToCategory -File $_ -Categories "music", "alan-parsons" }

Do të kontrollojmë skedarët:

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

Komanda do të shfaqë të gjithë 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

E gjithë kjo 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 ku të shkarkoni Graphile

Këtu është link në GitLab të Graphile.

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

E ardhmja e projektit

Duke qenë se është PowerShell, dhe jo një gjë e thjeshtë, mund të bëni 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 thërrisni Graphile.

Nëse ju pëlqeu projekti, bëni commit-e, merge requestdhe krijoni diskutime.

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

Burimi: habr.com

Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë 🔥 Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë | ProHoster