PowerShell Rename-Item es un bucle hasta el archivo alcanza límite de caracteres

votos
1

Tengo que cambiar el nombre de literalmente miles de carpetas y desea utilizar un script que añade viejo frente al antiguo nombre.

Probé este script

Get-ChildItem | rename-item -NewName { Old+ $_.Name }

Incluso funciona cuando intento que en algunas carpetas de prueba pequeños para evitar estropear mi carpeta principal, pero unfortunally que está trabajando allí, pero no en mi carpeta principal. En mi carpeta principal de este comando se repetirá hasta que llegue al límite de caracteres y se detiene.

Se ve como esto:

Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Zimmer.

En línea me encontré con este también pero produce el mismo resultado

get-childitem | % { rename-item $_ Old $_}

¿Es un insecto o estoy simplemente estúpido?

Publicado el 19/12/2018 a las 14:13
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
1

Para cambiar el nombre de las carpetas en una trayectoria determinada usando el prefijo "viejo", esto funciona para mí:

$path = "<PATH TO YOUR MAIN FOLDER>"
Get-ChildItem -Path $path -Directory | Rename-Item -NewName { "Old$($_.Name)" }

# For PowerShell version less than 3.0
# Get-ChildItem -Path $path | Where-Object { $_.PSIsContainer} | Rename-Item -NewName { "Old$($_.Name)" }

(si no se establece el parámetro path, el Get-ChildItemcmdlet utiliza la ubicación predeterminada, que es el directorio actual .o $pwd)

Respondida el 19/12/2018 a las 14:50
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more