Kategóriák a könyvtárak helyett. Eszköz a fájlok kényelmes tárolásához

Inspirálva cikket

„Kategóriák a könyvtárak helyett, avagy a szeminális fájlrendszer Linux Vitis számára,”

úgy döntöttem, hogy készítek egy hasonló eszközt vitis a PowerShell Core számára.

Miért kezdtem ezt el?

Először is, vitis csak Linuxra.
Másrészt szeretném használni a „csöveket” a PowerShell-ben.

Mivel keresztplatformos eszközt akartam készíteni, .Net Core-t választottam.

Háttér

Először káosz volt. Azután megjelentek a mappák a lemezen.
De a káosz továbbra is uralkodott. Megjelentek a címkék, valamint a címkék almappái és szinonimái. De a káosz őket is elfoglalta. És kitalálták a kategóriákat.

Koncepció

A fájlok nem egy könyvtárhierarchiában tárolódnak, hanem „halomban”, meghatározott kategóriákkal. Egy fájl több kategóriához is tartozhat.

Ha fájlt kell keresni, kényelmesebb megadni a hozzá tartozó kategóriákat. Ez sokkal könnyebben megjegyezhető, mint hogy mely mappákban található.

De ez a fájlrendszer semmiképpen sem alkalmas kódok, forráskódok stb. tárolására.
Ez például családi fényképek, zene, dokumentumok tárolására készült.

Használat

Na hát, nézzük meg a bemutatót.

Telepítsük a Graphile-t:

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

Először inicializáljuk a Graphile-t a mappában:

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

Tehát mindent beállítottunk. Most létrehozhatunk egy új kategóriát:

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

Adjunk hozzá fájlokat:

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

Aki nem értette, mit csináltam:

  1. Megszereztem a fájlok listáját a mappából Pink Floyd - The Wall
  2. Minden fájlt átalakítottam teljes útvonallá
  3. Minden fájlt hozzáadtam a kategóriához zene

Most ellenőrizzük, hogy valóban hozzáadtuk-e a fájlokat a kategóriához:

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

A következő formátumban jelenik meg a lista:

CategoriesNames Id Categories Name Extension

Hozzunk létre még kategóriákat és fájlokat:

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

Ellenőrizzük a fájlokat:

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

A parancs megjeleníti az összes fájlt, amely a alan-parsons kategóriához tartozik.

Több fájl a fájlrendszerek istenének!

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

Ellenőrizzük:

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

Minden működik!

De ez csak a kezdet. Exportálja a szokásos fájlrendszerét a Graphile-ba, és nyerjen nagyszerű fájlmegosztást.

Honnan tölthető le a Graphile

Íme link a Graphile GitLab-ján.

Licenc MIT, így kereskedelmi célokra is használhatja.

A projekt jövője

Mivel ez PowerShell, nem pedig valami vacak, készíthetsz grafikus felhasználói felületet a .NET Core-hoz.

Hogyan lehet ezt megtenni:

  1. Telepítse a Microsoft.PowerShell.SDK csomagot
  2. Használja a PowerShell osztályt, és hívja meg a Graphile-t.

Ha tetszik a projekt, készítsen elköteleződéseket, merge requestés indítson vitákat.

Köszönjük a figyelmet! Használja és élvezze!

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster