Não é um script em lote, mas um script do 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
}