Kategorije umjesto direktorija. Alat za jednostavno pohranjivanje datoteka

Inspiresan članak

„Kategorije umjesto direktorija, ili Semantički datotečni sustav za Linux Vitis“,

odlučio sam napraviti svoju verziju alata vitis za PowerShell Core.

Zašto sam počeo to raditi

Prvo, vitis samo za Linux.
Drugo, želim koristiti „cijevi“ u PowerShellu.

Budući da sam htio napraviti multiplatformski alat, izabrao sam .Net Core.

Povijest

Isprva je vladala kaos. Tada su se na disku pojavili folderi.
No kaos je još uvijek vladao. I pojavile su se oznake, kao i podoznake i sinonimi oznaka. No kaos je obuhvatio i njih. Tako su osmišljene kategorije.

Koncept

Datoteke se ne pohranjuju u hijerarhiji foldera, nego u „hrpi“, s određenim kategorijama. Jedna datoteka može pripadati više kategorijama.

Ako trebate pronaći datoteku, praktičnije je unijeti kategorije kojima pripada. To je puno lakše zapamtiti nego u kojim se folderima nalazi.

No, takav datotečni sustav nikako nije pogodan za pohranu koda, izvornika itd.
Namijenjen je za pohranu, na primjer, obiteljskih fotografija, glazbe, dokumenata.

Korištenje

Pa, krenimo s demonstracijom.

Instalirajmo Graphile:

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

Prvo inicijaliziramo Graphile u folderu:

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

Dakle, sve smo postavili. Sada možemo stvoriti novu kategoriju:

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

Dodajmo datoteke:

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

Onima koji nisu shvatili što sam učinio:

  1. Dobio sam popis datoteka u folderu Pink Floyd - The Wall
  2. Svaku datoteku sam pretvorio u punu putanju do nje
  3. Dodao sam svaku datoteku u kategoriju music

Sada provjerimo, jesmo li doista dodali datoteke u kategoriju:

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

Bit će ispisan popis u formatu:

CategoriesNames Id Categories Name Extension

Dodajmo još kategorija i datoteka:

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

Provjerimo datoteke:

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

Komanda će ispisati sve datoteke koje pripadaju kategoriji alan-parsons.

Više datoteka bogu datotečnih sustava!

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

Provjeravamo:

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

Sve radi!

No to je samo početak. Izvezite svoj uobičajeni datotečni sustav u Graphile i dobijte izvrsnu organizaciju datoteka.

Gdje preuzeti Graphile

Evo link na GitLabu Graphile.

Licenca MIT, tako da ga možete koristiti čak i u komercijalne svrhe.

Budućnost projekta

Budući da je ovo PowerShell, a ne šala, moguće je napraviti grafičko sučelje za .NET Core.

Kako to učiniti:

  1. Instalirati paket Microsoft.PowerShell.SDK
  2. Koristiti klasu PowerShell i pozvati Graphile.

Ako vam se projekt svidio, radite commit-e, merge requesti kreirajte rasprave.

Hvala na čitanju! Koristite i uživajte!

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster