|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Пакетное переименование |
|
CMD/BAT - [решено] Пакетное переименование
|
Новый участник Сообщения: 5 |
Профиль | Отправить PM | Цитировать Добрый день.
Не слишком силён в консоли. Нужно переписывать имена файлов "NAME.XX.wav" в "NAME.YY.wav", где XX - YY SL - Ls SR - Rs SC - Cs BL - Lsr BR - Rsr И вторая задача: "NAME xxxxx.wav" в "NAME.YY.wav", где ххххххх - YY Left Surround - Ls Right Surround - Rs Помогите, пожалуйста, решить проблему |
|
Отправлено: 12:03, 18-11-2020 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата sasakot:
|
|
------- Отправлено: 13:33, 18-11-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:51, 18-11-2020 | #3 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата sasakot:
powershell $fld = '.\TEST' $arr = 'SL$','SR$','SC$','BL$','BR$',' Left Surround$',' Right Surround$' dir $fld -filt '*.wav'|%{ $x = $_ foreach ($item in $arr){ if ($x.basename -match $item){ switch ($matches[0]){ 'SL'{ren $x.fullname $(($x.basename -replace 'SL','Ls') + $x.extension)} 'SR'{ren $x.fullname $(($x.basename -replace 'SR','Rs') + $x.extension)} 'SC'{ren $x.fullname $(($x.basename -replace 'SC','Cs') + $x.extension)} 'BL'{ren $x.fullname $(($x.basename -replace 'BL','Lsr') + $x.extension)} 'BR'{ren $x.fullname $(($x.basename -replace 'BR','Rsr') + $x.extension)} ' Left Surround'{ren $x.fullname $(($x.basename -replace ' Left Surround','.Ls') + $x.extension)} ' Right Surround'{ren $x.fullname $(($x.basename -replace ' Right Surround','.Rs') + $x.extension)} } } } } |
|
------- Отправлено: 13:55, 18-11-2020 | #4 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
А можно CMD, чтобы не разрешать навсегда выполнение скриптов в PS? |
||
Отправлено: 14:36, 18-11-2020 | #5 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата sasakot:
Но если очень хочется, то сохранить скрипт в отдельном файле в кодировке UTF8, например, script.ps1 и запускать так: А если хочется совсем без скриптовых файлов, то можно и так: <# :: @echo off >nul chcp 866 set "var=%~f0" powershell -ex bypass -c "&{[scriptblock]::create((gc -lit $env:var -enc OEM) -join [char]10).invoke()}" pause&exit /b #> $fld = '.\TEST' $arr = 'SL$','SR$','SC$','BL$','BR$',' Left Surround$',' Right Surround$' dir $fld -filt '*.wav'|%{ $x = $_ foreach ($item in $arr){ if ($x.basename -match $item){ switch ($matches[0]){ 'SL'{ren $x.fullname $(($x.basename -replace 'SL','Ls') + $x.extension)} 'SR'{ren $x.fullname $(($x.basename -replace 'SR','Rs') + $x.extension)} 'SC'{ren $x.fullname $(($x.basename -replace 'SC','Cs') + $x.extension)} 'BL'{ren $x.fullname $(($x.basename -replace 'BL','Lsr') + $x.extension)} 'BR'{ren $x.fullname $(($x.basename -replace 'BR','Rsr') + $x.extension)} ' Left Surround'{ren $x.fullname $(($x.basename -replace ' Left Surround','.Ls') + $x.extension)} ' Right Surround'{ren $x.fullname $(($x.basename -replace ' Right Surround','.Rs') + $x.extension)} } } } } |
|
------- Последний раз редактировалось YuS_2, 18-11-2020 в 14:48. Отправлено: 14:42, 18-11-2020 | #6 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Спасибо.
|
Отправлено: 14:54, 18-11-2020 | #7 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать sasakot, CMD, сохранить в 1251 кодировке
@Echo Off >nul Chcp 1251 Set "BoxIn=Z:\Box_In\Мои медиа файлы" Call :MyRen ".SL.wav" ".Ls.wav" Call :MyRen ".SR.wav" ".Rs.wav" Call :MyRen ".SC.wav" ".Cs.wav" Call :MyRen ".BL.wav" ".Lsr.wav" Call :MyRen ".BR.wav" ".Rsr.wav" Call :MyRen " Left Surroun.wav" ".Ls.wav" Call :MyRen " Right Surround.wav" ".Rs.wav" Exit /B :MyRen For %%f In ("%BoxIn%\*%~1") Do (Set "N=%%~nxf" &Call Ren "%%f" "%%N:%~1=%~2%%") Exit /B |
------- Последний раз редактировалось megaloman, 18-11-2020 в 16:38. Отправлено: 16:32, 18-11-2020 | #8 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать megaloman, Супер! То что надо! Спасибо!
|
Отправлено: 19:51, 18-11-2020 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 20:29, 18-11-2020 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Пакетное переименование файлов в случайное имя | brosafari | Скриптовые языки администрирования Windows | 3 | 17-01-2017 21:29 | |
CMD/BAT - Пакетное переименование файлов по маске | Viktor99 | Скриптовые языки администрирования Windows | 1 | 15-08-2016 23:25 | |
CMD/BAT - [решено] Пакетное переименование файлов | ArsenBespalov | Скриптовые языки администрирования Windows | 9 | 11-08-2016 03:56 | |
[решено] Пакетное переименование ярлыков | SimSim | Хочу все знать | 9 | 24-10-2012 10:44 | |
CMD/BAT - [решено] Пакетное переименование с использованием алфавитного счётчика | kotik147 | Скриптовые языки администрирования Windows | 6 | 13-05-2010 00:03 |
|