Isso deve funcionar.
Get-ChildItem "c:\test\*.txt" | ForEach-Object {
Rename-Item $_.FullName "$BackupFolder$($_.BaseName -replace " ", "_" -replace '\..*?$')$(Get-Date -Format "ddMMyyyy").txt"
Seu traço estava vindo de pouco antes de $(Get-Date . Lembre-se, ao passar aspas duplas como parâmetro, qualquer coisa que não seja uma variável ou que não esteja entre parênteses e precedida por $ será tratada como um caractere de string.
No script abaixo:
$test='test';"$test-$(Get-Date -F 'ddMMyyyy')"
$test será expandido para seu valor 'test' , - será deixado sozinho, pois não é uma variável nem uma parte de uma expressão, e Get-Date -F 'ddMMyyyy' será processado e retornará sua saída, pois é separado como uma expressão com $( ... ) . Isso resultará em:
test-24112013
Livre-se do painel e ...
$test='test';"$test-$(Get-Date -F 'ddMMyyyy')"
.... saídas ...
test24112013