Inspirálva
„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.ps1Először inicializáljuk a Graphile-t a mappában:
# Импортируем установленный модуль
PS C:UsersDellGraphileTest> Import-Module GraphilePowerShell
# Инициализируем Graphile в папке
PS C:UsersDellGraphileTest> Init-Graphile
C:UsersDellGraphileTestgraphile.dbTehát mindent beállítottunk. Most létrehozhatunk egy új kategóriát:
PS C:UsersDellGraphileTest> New-Category -Name "music"
musicAdjunk 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:
- Megszereztem a fájlok listáját a mappából
Pink Floyd - The Wall - Minden fájlt átalakítottam teljes útvonallá
- 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-TableA következő formátumban jelenik meg a lista:
CategoriesNames Id Categories Name ExtensionHozzunk 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-TableA 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-TableMinden 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 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:
- Telepítse a Microsoft.PowerShell.SDK csomagot
- 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
