Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
dir *.jpg | ForEach-Object {$newname = "pic"+$(Get-Random)+".jpg"; ren $_.name $newname}for name in *.jpg; do mv $name $RANDOM.jpg; done
или
for name in *.jpg; do mv $name `openssl rand -hex 8`.jpg; done
ls *.jpg | %{ ren $_ pic$(random).jpg }"}
$files = ls *.jpg
$files = random $files -count $xs.length
0..($files.length-1) | %{ren $files[$_] pic$_.jpg -whatif}
ls *.jpg | %{ ren $_ pic$(random).jpg }}
$files = ls *.jpg
$files = random $files -count $files.length
0..($files.length-1) | %{ren $files[$_] pic$_.jpg }
$name = $path.Substring($path.lastindexof('\') + 1, $path.lastindexof('.') - $path.lastindexof('\') - 1)
ls *.jpg # выбрать все файлы *.jpg. ls - это алиас для Get-ChildItem
| # pipe - таким символом команды PowerShell присоединяются друг к другу. То есть на вход следующей команды будет подан выход предыдущей
% # алиас для ForEach-Object - оманда вызывает следующей за ней блок для каждого элемента входа
{ # это открывающая скобка - начало блока
ren # это алиас для Rename-Item
$_ # это теущий аргумент блока - то есть в нашем случае - файл
pic$(random).jpg #строчка с выражением внутри. random - алиас для Get-Random - получение случайного числа, или случайного объекта из списка
} #конец блока
return $path.Replace($name, $sb)
PowerShell: Перемешиваем файлы