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>
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()}