¿Cómo cambiar el nombre del archivo a mayúsculas y la extensión a minúsculas?

¿Cómo cambiar el nombre del archivo a mayúsculas y la extensión a minúsculas?

Tengo algunos archivos como se muestra a continuación:

entrada: NombreObjeto.TXT

Quiero convertir el nombre del archivo a mayúsculas, mientras que la extensión debe estar en minúsculas mediante el uso de un archivo por lotes. por favor ayúdenme a convertir el nombre de mi objeto como se muestra a continuación

salida: OBJECTNAME.txt

Necesito convertir nombres de objetos en Windows para usarlos en Solaris y Linux.

Respuesta1

No es un script por lotes sino un script de PowerShell:

# Get all items in the current directory
Get-ChildItem | %{
    # Construct a new file name
    $newFilename = ($_.BaseName.ToUpper())+($_.Extension.ToLower());

    # Move the file
    Move-Item $_ $newFilename
}

Respuesta2

Podrías usarRenombrarRegla de cambio de nombre de "caso":

Caso: Todo en mayúsculas (omitir extensión), Extensión en minúsculas

Puede guardar sus reglas como un ajuste preestablecido y usarlo para cambiar el nombre de archivos/carpetas a través de la línea de comando y también en un archivo por lotes, por ejemploReNamer.exe /rename <preset> <files-and-directories>

ReNamer: nombre en mayúsculas, extensión en minúsculas

Respuesta3

Lo siento porque no puedo comentar, pero para hacerlo en una sola línea debes hacer:

Get-ChildItem | % { Move-Item -Path $_ -Destination (($_.BaseName.ToUpper())+($_.Extension.ToLower())) }

Respuesta4

Encontré una forma alternativa de hacer esto:

Dir | Rename-Item -NewName {$_.BaseName.ToUpper() + $_.Extension.ToLower()}

información relacionada