Recuperar recursivamente todos os metadados do sistema de arquivos de um arquivo ou diretório com o Windows PowerShell


0

Eu tenho pesquisado em toda parte por informações explícitas sobre isso, mas não encontrei nada . Digamos que eu tenha um arquivo ou diretório armazenado na variável $Item. Usando o Windows PowerShell (estou usando o 3.0), como posso obter todos os metadados associados a ele $Itemque não estão armazenados em seu conteúdo? Por exemplo, eu quero obter suas permissões, seu SID, seu tempo de criação, seu tempo de modificação, a hora em que foi acessado pela última vez, seus atributos e praticamente tudo que é exibido na caixa de diálogo "Propriedades" no Windows. Explorador. Eu preciso fazer isso para que eu possa registrar as propriedades de cada item nos metadados do SVN.

Respostas:


0

Assumindo:

$item = Get-Item c:\windows\notepad.exe

Último horário de acesso:

$item.LastAccessTime.ToString()

Última hora da modificação:

$item.LastWriteTime.ToString()

Tempo de criação:

$item.CreationTime.ToString()

Atributos:

$item.Attributes

Informação da versão:

$item.VersionInfo

As permissões de segurança não são armazenadas no arquivo, portanto, você precisa usar o Get-Aclcmdlet:

(Get-Acl $item).Access

0

você pode obter a maioria desses elementos da classe System.IO.DirectoryInfo

PS C:\Windows\system32> $([System.IO.DirectoryInfo]"c:\").creationtime
PS C:\Windows\system32> $([System.IO.DirectoryInfo]"c:\").Attributes

...

Aqui estão as propriedades disponíveis no objeto: http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.aspx

Agora, não tenho certeza do que você quer dizer com recursiva, já que você disse que não queria o conteúdo do diretório, mas pode obter uma lista de subitens usando .GetFiles ou .GetDirectories. então você pode reciclar ou iterar sobre eles como quiser.


Eu uso a palavra "recursivamente" porque eu preciso dela para percorrê-las automaticamente.
Melab
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.