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

вход: ObjectName.текст

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

вывод: OBJECTNAME.txt

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

4 ответа4

1

Вы можете использовать правило переименования "Case" в ReNamer :

Case: Весь верхний регистр (пропустить расширение), Расширение нижнего регистра

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

ReNamer - имя в верхнем регистре, расширение в нижнем регистре

1

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

Get-ChildItem | % { Move-Item -Path $_ -Destination (($_.BaseName.ToUpper())+($_.Extension.ToLower())) }
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
}
0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .