Rev 2680 | Autoría | Ultima modificación | Ver Log |
const fs = require('fs')
const path = require('path')
const toKebabCase = (str) => {
return str
.replace(/([a-z])([A-Z])/g, '$1-$2') // Convierte camelCase a camel-case
.replace(/[\s_]+/g, '-') // Convierte espacios y guiones bajos a guiones
.toLowerCase()
}
const renameFilesInDirectory = (dir) => {
fs.readdir(dir, (err, files) => {
if (err) {
return console.error(`No se pudo leer el directorio: ${err.message}`)
}
files.forEach((file) => {
const oldPath = path.join(dir, file)
fs.stat(oldPath, (err, stats) => {
if (err) {
return console.error(
`No se pudo obtener la información del archivo: ${err.message}`
)
}
if (stats.isDirectory()) {
// Recursivamente renombrar archivos en subdirectorios
renameFilesInDirectory(oldPath)
} else {
const newPath = path.join(dir, toKebabCase(file))
fs.rename(oldPath, newPath, (err) => {
if (err) {
return console.error(
`No se pudo renombrar el archivo ${file}: ${err.message}`
)
}
console.log(`Renombrado: ${file} -> ${path.basename(newPath)}`)
})
}
})
})
})
}
// Cambia '/ruta/al/directorio' por el directorio que quieres procesar.
const directoryPath = './app/pages/account-settings/'
renameFilesInDirectory(directoryPath)