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