Você pode usar o PowerShell para isso. Arquivos originados da Internet possuem um fluxo de dados alternativo chamado Zone.Identifier. A partir do PowerShell 3.0, Get-Item
suporta o parâmetro -Stream
, que permite a visualização de ADS. Se você estiver executando o Windows 8, já deverá ter uma versão capaz do PowerShell integrada. Se você estiver no Windows 7, precisará baixar uma atualização do site da Microsoft. A versão mais recente é atualmente o PowerShell 4.0.
Depois de instalar uma versão compatível do PowerShell, o comando a seguir listará todos os arquivos da pasta (e subpastas) atuais que têm o ADS do Zone.Identifier:
Get-ChildItem -Recurse | Get-Item -Stream Zone.Identifier -ErrorAction SilentlyContinue | Select-Object FileName
Expandido, com comentários:
# Get all items in the current folder and its subfolders.
Get-ChildItem -Recurse|
# Get the Zone.Identifier ADS for each item. Suppress error output.
# Errors are suppressed here because otherwise the screen will fill with non-critical errors for all the files that *don't* have the Zone.Identifier ADS - i.e.: Files that aren't from the Internet.
Get-Item -Stream Zone.Identifier -ErrorAction SilentlyContinue |
# Display only the FileName property of each object returned.
Select-Object FileName
Versão "Golfed":
ls -Rec|gi -S Zone.Identifier -ErrorA SilentlyContinue|select FileName
-
ls
,gi
eselect
são aliases internos paraGet-ChildItem
,Get-Item
eSelect-Object
, respectivamente. -
-Recurse
,-Stream
e-ErrorAction
foram truncados para o tamanho mínimo necessário para identificar exclusivamente os nomes dos parâmetros.