Como importar lista de arquivos e seus atributos, de uma pasta para excel usando o Windows Explorer?

3

Estou usando o Windows 7 e tenho uma pasta contendo algumas centenas de imagens. Algumas das imagens têm valores mais baixos de Largura e Altura em pixels. Estou à procura de imagens que tenham um pequeno produto múltiplo destes dois campos. Não há um campo que resume isso na lista de campos.

Eu gostaria de rastrear esses arquivos exportando a lista de arquivos e os atributos de largura e altura para a planilha do Excel.

Existe uma maneira direta e direta de fazê-lo? Se não, existe alguma solução alternativa?

    
por EranGeo 28.08.2016 / 10:34

1 resposta

2

Use o seguinte script do PowerShell e, em seguida, abra sorted.csv com o Excel e faça mais manipulações conforme necessário.

test.ps1:

$image = New-Object -ComObject Wia.ImageFile
echo ("Name,Width,Height,Area") > test.csv
dir *.png | foreach {
  $fname =$_.FullName
  $image.LoadFile($fname)
  $area=$image.Width*$image.Height
  echo ('"'+$fname+'",'+$image.Width+","+$image.Height+","+$area)
} >> test.csv
# sort the csv by area (ascending)
Import-Csv test.csv | sort Area | Export-Csv -Path sorted.csv -NoTypeInformation

Notas:

  • Usa o objeto Wia.ImageFile .
  • test.csv contém saída não classificada
  • sorted.csv contém a saída classificada (ascendente) por "Área" ( Width * Height )

Exemplo de saída:

PS F:\test> dir *.png


    Directory: F:\test


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       01/09/2015     11:45          27156 1.png
-a----       01/09/2015     11:46          17900 2.png
-a----       21/05/2015     14:40         114304 3.png
-a----       15/04/2015     12:56         429394 4.png


PS F:\test> .\test.ps1
PS F:\test> type test.csv
Name,Width,Height,Area
"F:\test.png",869,532,462308
"F:\test.png",870,344,299280
"F:\test.png",328,328,107584
"F:\test.png",546,494,269724
PS F:\test> type sorted.csv
"Name","Width","Height","Area"
"F:\test.png","328","328","107584"
"F:\test.png","546","494","269724"
"F:\test.png","870","344","299280"
"F:\test.png","869","532","462308"

Leitura Adicional

por 28.08.2016 / 11:28