Não é uma solução perfeita, mas eu encontrei e modifiquei um script que monitora uma pasta para novos arquivos; quando ela detecta um novo arquivo, ela automaticamente renomeia com um número aleatório. Copie e cole o seguinte e salve-o como um arquivo .ps1. Execute-o a partir do console do powershell ou do cmd. (certifique-se de ativar a execução de sc scts).
$folder = 'Q:\Test\# Downloads' # <-- Change as desired
$filter = '*.*'
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubdirectories = $false
NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$path = $Event.SourceEventArgs.FullPath
$name = $Event.SourceEventArgs.Name
#$changeType = $Event.SourceEventArgs.ChangeType
#$timeStamp = $Event.TimeGenerated
if( $name -imatch "stop")
{
Unregister-Event -SourceIdentifier FileCreated;
write-host "Monitoring stopped.";
Exit(0);
}
else
{
$count=$(Get-Random -minimum 1 -maximum 999999);
$p = Split-Path "$path" -Parent;
$newName = "$p\$count-$name"
while(test-path $newName)
{
$count=$(Get-Random -minimum 1 -maximum 999999);
$newName = "$p\$count-$name";
}
Move-Item $path -Destination $newName -Force -Verbose
}
}
Adicionar um arquivo chamado "stop" à pasta interrompe o monitoramento.