Intenta entender el código de forma correcta previamente a adaptarlo a tu trabajo si tdeseas aportar algo puedes decirlo en los comentarios.
Solución:
Aquí hay una secuencia de comandos que puede cambiar el nombre de los archivos de manera masiva, eliminando todos los espacios del nombre.
:renameNoSpace [/R] [FolderPath]
@echo off
setlocal disableDelayedExpansion
if /i "%~1"=="/R" (
set "forOption=%~1 %2"
set "inPath="
) else (
set "forOption="
if "%~1" neq "" (set "inPath=%~1") else set "inPath="
)
for %forOption% %%F in ("%inPath%* *") do (
if /i "%~f0" neq "%%~fF" (
set "folder=%%~dpF"
set "file=%%~nxF"
setlocal enableDelayedExpansion
echo ren "!folder!!file!" "!file: =!"
ren "!folder!!file!" "!file: =!"
endlocal
)
)
Supongamos que el script se llama renombrarNoSpace.bat
renameNoSpace
: (sin argumentos) Cambia el nombre de los archivos en el directorio actual
renameNoSpace /R
: cambia el nombre de los archivos en el árbol de carpetas enraizados en el directorio actual
renameNoSpace myFolder
: Cambia el nombre de los archivos en el directorio “myFolder” que se encuentra en el directorio actual.
renameNoSpace "c:my folder"
: cambia el nombre de los archivos en la ruta especificada. Se usan comillas porque la ruta contiene un espacio.
renameNoSpace /R c:
: Cambia el nombre de todos los archivos en la unidad C:.
En Windows:
- Abra un símbolo del sistema.
- Vaya a la carpeta con el comando cd (por ejemplo: cd “paht de su carpeta”).
- Abra un powershell escribiendo: powershell
- Luego ingrese esto: get-childitem *.mp3 | foreach rename-item $_ $_.name.replace(” “,””)
Crear un archivo de PowerShell – *.ps1
extensión
Escribe este código:
dir |
Where-Object $_.name.Contains(" ") |
Rename-Item -NewName $_.name -replace " ",""
guarde, luego haga clic derecho -> ejecutar con powershell