Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Названия папок ПРОПИСНЫМИ буквами

Ответить
Настройки темы
CMD/BAT - [решено] Названия папок ПРОПИСНЫМИ буквами

Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


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

Отправлено: 23:23, 13-07-2022

 

Старожил


Сообщения: 250
Благодарности: 51

Профиль | Отправить PM | Цитировать


повершел справится с задачей легко

Код: Выделить весь код
move-item  -path 'привет' -destination ('привет'.ToUpper())
чем мучиться (про себя употребил другое слово) с батникам осваивайте уже Powershell
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:06, 14-07-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Цитата Serguei Kouzmine:
повершел справится с задачей легко

Код: Выделить весь код
move-item  -path 'привет' -destination ('привет'.ToUpper())
чем мучиться (про себя употребил другое слово) с батникам осваивайте уже Powershell
Это, конечно, здорово. Я находил вариант на Powershell в инете, но задача-то другая. Мне все папки надо переименовать, не включая вложенные.

Отправлено: 08:59, 14-07-2022 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Powershell
Код: Выделить весь код
dir $PSScriptRoot -Directory |? { $_.Name -cne ($newName = $_.Name.ToUpper()) } |% {
    $tmpName = Rename-Item -Path "$($_.FullName)" -NewName "tmp$newName" -PassThru
    Rename-Item -Path "$($tmpName.FullName)" -NewName $newName
}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 14-07-2022 в 13:37. Причина: Windows нечувствителен к регистру имён каталогов

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:16, 14-07-2022 | #4


Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Не сработал на Windows 7, видимо powershell старый. Но обновить нельзя.
Можно ли как-то решить задачу с помощью bat?

Отправлено: 20:34, 14-07-2022 | #5


Старожил


Сообщения: 250
Благодарности: 51

Профиль | Отправить PM | Цитировать


как нитересно а ошибку пушкин будет показывать ?

Отправлено: 03:08, 15-07-2022 | #6


Старожил


Сообщения: 250
Благодарности: 51

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:

dir $PSScriptRoot -Directory |? { $_.Name -cne ($newName = $_.Name.ToUpper()) } |% {
$tmpName = Rename-Item -Path "$($_.FullName)" -NewName "tmp$newName" -PassThru
Rename-Item -Path "$($tmpName.FullName)" -NewName $newName
}
»
а чего так сложно ? проще можно вроде

Отправлено: 03:36, 15-07-2022 | #7


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Windows нечувствителен к регистру имён, поэтому переименовывать нужно дважды.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:58, 15-07-2022 | #8


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1218
Благодарности: 509

Профиль | Отправить PM | Цитировать


Цитата Serguei Kouzmine:
как нитересно а ошибку пушкин будет показывать ? »
Да чего там показывать... powershell v2, в командлете Get-ChildItem параметр -directory не поддерживается...
Тут интересно другое, сам принцип радикального консерватизма (начиная от версии ОС и заканчивая нежеланием ничего обновлять, в принципе). Ведь человеку предлагают вспахать поле трактором, а он говорит: "- не, дайте мне лопату, у меня сил и терпения много, буду вручную копать", как-то так...
А чтобы запустить скрипт на ps 2, надо просто выборку каталогов делать так:
Код: Выделить весь код
dir -force|?{$_.psiscontainer}|%{$_.fullname.toupper()}
или сразу переименовать дважды, учитывая, что windows не различает регистр имен:
Код: Выделить весь код
dir -force|?{$_.psiscontainer}|%{mi $_.fullname ($_.name.toupper()+"._1") -force -pass}|%{mi $_.fullname ($_.name -replace "\._1$") -force}

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 16-07-2022 в 09:14. Причина: поправлена регулярка, чтобы из имен не удалилось лишнего

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:03, 15-07-2022 | #9


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Цитата Sisin:
Не сработал на Windows 7, видимо powershell старый. Но обновить нельзя. »
Обновить нельзя что - систему или Powershell?
Если что, то Powershell можно обновить и на семёрке.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 14:35, 15-07-2022 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Названия папок ПРОПИСНЫМИ буквами

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] пропали названия дисков, файлов и папок Zita_Zajka Microsoft Windows 10 9 08-06-2017 06:38
2008 R2 - Названия папок в профиле пользователя после перемещения Lipser2008 Windows Server 2008/2008 R2 16 17-04-2017 16:45
Интерфейс - [решено] Изменились названия папок в C:\Users ziken Microsoft Windows 7 1 12-12-2013 16:24
PIC VIDeo MJPEG, или Explorer.exe прописными буквами. LiXiQing Лечение систем от вредоносных программ 7 12-02-2010 17:03
Названия файлов и папок переписываются нечитаемым шрифтом LVS_LVS Лечение систем от вредоносных программ 1 02-08-2008 19:02




 
Переход