powershell
коммандлеты(что вспомнилось на скорую руку) :
$v=Get-Content имяфайла -raw
запихивает в переменную всё содержимое файла в виде строки
или
$v="";get-childitem D:\textfiles\ -file | Foreach {$v+=(Get-Content $_.fullname -raw)}
запихивает в виде строки в $v содержимое всех файлов, лежащих в d:\textfiles
$b=$v -split " "
разделяет строку $v на массив элементов, разделенных пробелами (слова)
$c=($b | sort -unique)
выводит только уникальные(не повторяющиеся) значения массива слов в массив $c
$c | Out-File d:\textfiles\final.txt
выводит в текстовый файл построчно все слова массива $c (избавленного от дубликатов)