Puede insertar código de secuencia de comandos PowerShell arbitraria en una cadena entre comillas dobles mediante el uso de una subexpresión, por ejemplo, $(), así:
"C:\temp\mybackup $(get-date -f yyyy-MM-dd).zip"
Y si usted está recibiendo el camino de alguna parte lo demás - ya como una cadena:
$dirName = [io.path]::GetDirectoryName($path)
$filename = [io.path]::GetFileNameWithoutExtension($path)
$ext = [io.path]::GetExtension($path)
$newPath = "$dirName\$filename $(get-date -f yyyy-MM-dd)$ext"
Y si el camino pasa a estar llegando desde la salida del Get-ChildItem:
Get-ChildItem *.zip | Foreach {
"$($_.DirectoryName)\$($_.BaseName) $(get-date -f yyyy-MM-dd)$($_.extension)"}
Argh. 'get-date -f yyyy-MM-dd' me hizo detenerme por un momento antes de darme cuenta de que * no * es el operador' -f' *, sino la forma abreviada del parámetro '-Format' * *. Parecía bastante fuera de lugar, de alguna manera :-) – Joey
Gracias Keith que fue de gran ayuda –
y si quiero el tiempo también? –