Powershell - comment mettre en “titre” dans l'étendue des propriétés de fichier

Je suis en train d'écrire un système d'étiquetage en Powershell. Je voudrais être en mesure de définir un 'tag' de mon choix dans un fichier par exemple à l'aide de la 'title' domaine que je ne l'utilise pas. Les fichiers que j'aimerais tag sont un mélange de photos, de vidéos et de texte.

J'ai trouvé ça assez facile à lire/obtenir les attributs de fichier étendu comme il y a plusieurs exemples disponibles sur le net, cependant je trouve qu'il est extrêmement difficile de trouver des exemples de la modification ou de l'écriture de fichier étendue des propriétés, en particulier dans Powershell.

J'ai réussi à écrire 'titles' de fichiers à l'aide de taglib-forte, mais cela semble avoir des problèmes avec des photos différentes et il n'y a pas beaucoup d'informations disponibles pour le dépannage. En Plus il traite uniquement de l'audio/vidéo/photo fichiers.

C'est le code que j'ai à lire le titre (à partir d'un test photo):

$path = 'C:\temp\photo.jpg'
$shell = New-Object -COMObject Shell.Application
$folder = Split-Path $path
$file = Split-Path $path -Leaf
$shellfolder = $shell.Namespace($folder)
$shellfile = $shellfolder.ParseName($file)
$shellfolder.GetDetailsOf($shellfile, 21)

Quelqu'un peut-il me dire comment je puis-je mettre à jour cet attribut, puis d'écrire/enregistrer le fichier?

  • Réglage de l'étendue des propriétés de fichier dans .NET semble couverts dans cette question.
  • Hi - oui, j'ai déjà vu cette question. L'asm dll ne semble se référer à des documents MS Office, alors que je veux mettre le titre sur de nombreux types de fichiers différents.
InformationsquelleAutor Tristan P | 2013-05-19