Catégories au lieu de répertoires. Un outil pour un stockage pratique des fichiers

Inspiré par article

«Des catégories au lieu de répertoires, ou un système de fichiers sémantique pour Linux Vitis»,

j'ai décidé de créer ma propre version de l'utilitaire vitis pour PowerShell Core.

Pourquoi ai-je commencé cela

Tout d'abord, vitis uniquement pour Linux.
Deuxièmement, j'aimerais utiliser des «pipes» dans PowerShell.

Comme je voulais créer un utilitaire multiplateforme, j'ai choisi .Net Core.

Contexte

Au début, il y avait le chaos. Puis des dossiers sont apparus sur le disque.
Mais le chaos régnait encore. Des tags sont apparus, ainsi que des sous-tags et des synonymes de tags. Mais le chaos les a également envahis. Et des catégories ont été inventées.

Concept

Les fichiers ne sont pas stockés dans une hiérarchie de dossiers, mais dans une «pile», avec des catégories définies. Un fichier peut appartenir à plusieurs catégories.

Si vous devez trouver un fichier, il est plus facile d'entrer les catégories auxquelles il appartient. C'est beaucoup plus facile à retenir que dans quels dossiers il est stocké.

Mais un tel système de fichiers ne convient en aucun cas à la conservation de code, de sources, etc.
Il est destiné à stocker, par exemple, des photos de famille, de la musique, des documents.

Utilisation

Eh bien, commençons la démonstration.

Installons Graphile :

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

D'abord, initialisons Graphile dans le dossier :

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

Donc, tout est configuré. Maintenant, nous pouvons créer une nouvelle catégorie :

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

Ajoutons des fichiers :

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

Pour ceux qui n'ont pas compris ce que j'ai fait :

  1. J'ai obtenu une liste de fichiers dans le dossier Pink Floyd - The Wall
  2. Chaque fichier a été transformé en chemin complet.
  3. J'ai ajouté chaque fichier à la catégorie. music

Vérifions maintenant si nous avons vraiment ajouté des fichiers à la catégorie :

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

Une liste sera affichée au format :

CategoriesNames Id Categories Name Extension

Ajoutons encore des catégories et des fichiers :

New-Category -Name "the-wall"
New-Category -Name "alan-parsons"

List-Graphiles -Categories "musique" | foreach { Add-GraphileToCategory -Categories "the-wall" -Files $_.Name }

Get-ChildItem "D:MusiqueLe Projet Alan Parsons - Turn of a Friendly Card" -File -Recurse | foreach { $_.FullName } | foreach { Add-FileToCategory -File $_ -Categories "musique", "alan-parsons" }

Vérifions les fichiers :

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

La commande affichera tous les fichiers appartenant à la catégorie alan-parsons.

Plus de fichiers, pour le dieu des systèmes de fichiers !

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

Vérifions :

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

Tout fonctionne !

Mais ce n'est que le début. Exportez votre système de fichiers habituel vers Graphile et obtenez une excellente organisation des fichiers.

Où télécharger Graphile

Voici lien sur GitLab de Graphile.

Licence MIT, vous pouvez donc l'utiliser même à des fins commerciales.

Avenir du projet

Puisque c'est PowerShell, et non pas un simple script, vous pouvez créer une interface graphique sous .NET Core.

Comment faire :

  1. Installer le paquet Microsoft.PowerShell.SDK
  2. Utiliser la classe PowerShell et appeler Graphile.

Si vous aimez le projet, faites des commits, demande de fusionet créez des discussions.

Merci pour votre lecture ! Profitez-en et amusez-vous !

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster