Как изменить имя файла на заглавные буквы, а расширение на строчные?

Как изменить имя файла на заглавные буквы, а расширение на строчные?

У меня есть несколько файлов, как показано ниже:

ввод: ObjectName.TXT

Я хочу преобразовать имя файла в верхний регистр, а расширение должно быть в нижнем регистре, используя пакетный файл. Пожалуйста, помогите мне преобразовать имя моего объекта, как показано ниже.

вывод: OBJECTNAME.txt

Мне нужно преобразовать имена объектов в Windows для использования в Solaris и Linux.

решение1

Не пакетный скрипт, а скрипт 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
}

решение2

Вы могли бы использоватьReNamer'sПравило переименования «Case»:

Регистр: Все заглавные буквы (пропустить расширение), Расширение нижнего регистра

Вы можете сохранить свои правила как предустановку и использовать ее для переименования файлов/папок через командную строку, а также в пакетном файле, например:ReNamer.exe /rename <preset> <files-and-directories>

ReNamer - имя заглавными буквами, расширение строчными буквами

решение3

Извините, но я не могу комментировать, но если говорить в одной строке, то это можно сделать:

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

решение4

Нашел альтернативный способ сделать это:

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

Связанный контент