Eu usaria a bashqualquer momento.
cat list.txt | xargs -I {} cp {} <destination folder>
Ou, desde que eu tenho vindo a preferir parallelmais xargs:
cat list.txt | parallel cp {} <destination folder>
No Windows, eu usaria o cygwin , mas você pode considerar cmder , Git-for-Windows , WSL e mais ...
Mas você pode fazer isso com a mesma facilidade em Powershell:
cat list.txt | ForEach {cp $_ <destination folder>}
Aparentemente, a Microsoft deseja que uma determinada categoria de usuários se sinta à vontade usando o Powershell, porque reconhece vários comandos conhecidos do mundo UNIX. Esses são apenas aliases para os cmdlets equivalentes e uma lista pode ser encontrada invocando Get-Alias(ou simplesmente aliasse você preferir):
cat -> Get-Content
clear -> Clear-Host
cp -> Copy-Item
curl -> Invoke-WebRequest
diff -> Compare-Object
echo -> Write-Output
history -> Get-History
kill -> Stop-Process
ls -> Get-ChildItem
man -> help
mount -> New-PSDrive
mv -> Move-Item
pwd -> Get-Location
rm -> Remove-Item
sleep -> Start-Sleep
wget -> Invoke-WebRequest