Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Script 1
- $UsersFolder = $env:PUBLIC -replace "Public" # по умолчанию это c:\users, но на всякий случай сделал проверку через переменную PUBLIC. Можно указать руками, но должно заканчиваться на \
- $InputFolder = 'path\to\outfolder' # куда кладём файлы
- $Users = Import-Csv -Path 'path\to\userlist.csv' # userlist.csv Поля: Name
- foreach ($user in $users) # перебираем пользователей
- {
- if (Test-Path -path "$UsersFolder$($user.Name)\AppData\Roaming\SimplePostFlop\Input\*") # проверяем, что для текущего пользователя в его папке есть файлики
- {
- $userfiles = Get-ChildItem -Path "$UsersFolder$($user.Name)\AppData\Roaming\SimplePostFlop\Input\*" # получаем список файлов текущего пользователя, если такие есть
- foreach ($userfile in $userfiles) # перебираем файлы из полученного списка
- {
- Copy-Item -Path $userfile.Fullname -Destination "$InputFolder\$($user.Name)_$filename" -Force -ErrorVariable Err -ErrorAction SilentlyContinue #копируем файл в папку InputFolder с новым именем, добавляя имя пользователя как префикс username_
- if (!$err) {Remove-Item -Path $userfile.Fullname -Force} # если нет ошибки копирования, удаляем исходный файл
- else {"Не удаётся скопировать файл $userfile.Fullname в $InputFolder\$($user.Name)_$filename"} # если есть ошибка - выводим сообщение
- } # конец перебора файлов текущего пользователя
- } # конец блока if (test-path)...
- } # конец перебора пользователей
- # Script 2
- $OutputFolder = 'path\to\outputfolder' # откуда берём файлы
- $OldServer = 'e:\OldServer' # куда их перекладываем
- $Users = Import-Csv -Path 'path\to\userlist.csv' # userlist.csv Поля: Name
- foreach ($user in $users) # перебираем пользователей
- {
- if (Test-Path -Path "$OutputFolder\$($user.Name)_*") # проверяем, есть ли файлы с маской username_* в папке Output folder
- {
- $UserFiles = Get-ChildItem -Path "$OutputFolder\$($user.Name)_*" # получаем список файлов текущего пользователя, если они есть
- Foreach ($userfile in $userfiles) # перебираем файлы из полученного списка
- {
- if (-not (Test-Path -Path "$OldServer\$($user.name)")) {New-Item "$OldServer\$($user.name)" -Force -ItemType Directory } # если нет папки OldServer\username - то создаём её
- $NewName = $userfile.Name -replace "$($user.Name)_" # создаём новое имя файла, убирая префикс username_
- Copy-Item -Path $userfile.Fullname -Destination "$OldServer\$($user.Name)\$NewName" -Force -ErrorVariable Err -ErrorAction SilentlyContinue # копируем файл в папку OldServer\username с новым именем.
- if (!$err) {Remove-Item -Path $Userfile.Fullname -Force} # если нет ошибки копирования, удалаяем исходный файл
- else {"Не удаётся скопировать файл $($Userfile.Name) в $OldServer\$($user.Name)\$NewName."} # если есть ошибка - выводим сообщение
- } # конец перебора файлов текущего пользователя
- } # конец блока if (test-path)...
- } # конец перебора пользователей
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement