|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Пакетное переименование |
|
|
CMD/BAT - [решено] Пакетное переименование
|
|
Новый участник Сообщения: 5 |
Добрый день.
Не слишком силён в консоли. Нужно переписывать имена файлов "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 Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата sasakot:
|
|
|
------- Отправлено: 13:33, 18-11-2020 | #2 |
|
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 13:51, 18-11-2020 | #3 |
|
Crazy Сообщения: 1235
|
Профиль | Отправить 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 Сообщения: 1235
|
Профиль | Отправить 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 |
|
Ветеран Сообщения: 2735
|
Профиль | Отправить 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 | |
|