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

0

Eu tenho procurado por toda parte por informações explícitas sobre isso, mas eu não encontrei nenhum qualquer . 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 ao $Item que 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.

    
por Melab 13.03.2013 / 18:44

2 respostas

0

Assumindo:

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

Última hora de acesso:

$item.LastAccessTime.ToString()

Hora da última modificação:

$item.LastWriteTime.ToString()

Horário 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 cmdlet Get-Acl :

(Get-Acl $item).Access
    
por 13.03.2013 / 19:24
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: link

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.

    
por 13.03.2013 / 19:25

Tags