Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для YuS_2

Crazy


Contributor


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

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


Цитата sasakot:
чтобы не разрешать навсегда выполнение скриптов в PS? »
А в чем проблема, чтобы разрешить? Сейчас powershell уже заменил cmd в качестве стандартной командной оболочки...
Но если очень хочется, то сохранить скрипт в отдельном файле в кодировке UTF8, например, script.ps1 и запускать так:
Код: Выделить весь код
@echo off
echo Выполняем...
powershell  -ex bypass .\script.ps1
echo Готово.
pause
А если хочется совсем без скриптовых файлов, то можно и так:
Код: Выделить весь код
<# :: 
@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)}
			}
		}
	}
}
- батник лучше сохранять в кодировке OEM (CP866).

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


Последний раз редактировалось YuS_2, 18-11-2020 в 14:48.

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

Отправлено: 14:42, 18-11-2020 | #6