У меня есть несколько файлов, как показано ниже:
ввод: 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>
решение3
Извините, но я не могу комментировать, но если говорить в одной строке, то это можно сделать:
Get-ChildItem | % { Move-Item -Path $_ -Destination (($_.BaseName.ToUpper())+($_.Extension.ToLower())) }
решение4
Нашел альтернативный способ сделать это:
Dir | Rename-Item -NewName {$_.BaseName.ToUpper() + $_.Extension.ToLower()}