Kategorie místo adresářů. Nástroj pro pohodlné ukládání souborů

Inspirován článkem

„Kategorie místo adresářů, nebo Sémantický souborový systém pro Linux Vitis,“

rozhodl jsem se vytvořit svůj vlastní ekvivalent nástroje vitis pro PowerShell Core.

Proč jsem to začal dělat

Za prvé, vitis pouze pro Linux.
Za druhé, chtěl jsem používat „trubky“ v PowerShell.

Protože jsem chtěl vytvořit multiplatformní nástroj, zvolil jsem .Net Core.

Pozadí

Nejprve byl chaos. Pak se na disku objevily složky.
Ale chaos stále panoval. A objevily se značky, stejně jako podznačky a synonyma značek. Ale chaos je také ovládl. A byly vymýšleny kategorie.

Koncept

Soubor není uchováván v hierarchii složek, ale v „hromadě“, s určitými kategoriemi. Jeden soubor může patřit do několika kategorií.

Pokud potřebujete najít soubor, je pohodlnější zadat kategorie, do kterých patří. To je mnohem snazší zapamatovat si, než ve kterých složkách je uložen.

Ale takový souborový systém rozhodně není vhodný pro ukládání kódu, zdrojových souborů atd.
Je určen pro ukládání například rodinných fotografií, hudby, dokumentů.

Použití

Tak co, pojďme k demonstraci.

Nainstalujeme Graphile:

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

Nejprve inicializujeme Graphile ve složce:

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

Takže, vše jsme nastavili. Teď můžeme vytvořit novou kategorii:

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

Přidáme soubory:

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

Pro ty, kteří nepochopili, co jsem udělal:

  1. Získal jsem seznam souborů ve složce Pink Floyd - The Wall
  2. Každý soubor jsem převedl na úplnou cestu k němu
  3. Přidal jsem každý soubor do kategorie music

Teď zkontrolujeme, zda jsme skutečně přidali soubory do kategorie:

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

Bude vypsán seznam ve formátu:

CategoriesNames Id Categories Name Extension

Přidáme další kategorie a soubory:

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

Zkontrolujeme soubory:

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

Příkaz vypíše všechny soubory, které patří do kategorie alan-parsons.

Více souborů bohu souborových systémů!

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

Kontrolujeme:

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

Vše funguje!

Ale to je jen začátek. Exportujte svůj běžný souborový systém do Graphile a získejte skvělé uspořádání souborů.

Odkud stáhnout Graphile

Tady odkaz na GitLab Graphile.

Licence MIT, takže jej můžete používat i pro komerční účely.

Budoucnost projektu

Jako PowerShell, a ne nějaká sranda, můžete vytvořit grafické rozhraní v .NET Core.

Jak to udělat:

  1. Nainstalujte balíček Microsoft.PowerShell.SDK
  2. Použijte třídu PowerShell a zavolejte Graphile.

Pokud se vám projekt líbí, dělejte commity, merge requesta vytvářejte diskuze.

Děkujeme za přečtení! Použijte a užijte si!

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster