Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Script 1
  2. $UsersFolder = $env:PUBLIC -replace "Public" # по умолчанию это c:\users, но на всякий случай сделал проверку через переменную PUBLIC. Можно указать руками, но должно заканчиваться на \
  3. $InputFolder = 'path\to\outfolder' # куда кладём файлы
  4. $Users = Import-Csv -Path 'path\to\userlist.csv' # userlist.csv Поля: Name
  5. foreach ($user in $users) # перебираем пользователей
  6. {
  7.  if (Test-Path -path "$UsersFolder$($user.Name)\AppData\Roaming\SimplePostFlop\Input\*") # проверяем, что для текущего пользователя в его папке есть файлики
  8.  {
  9.   $userfiles = Get-ChildItem -Path "$UsersFolder$($user.Name)\AppData\Roaming\SimplePostFlop\Input\*" # получаем список файлов текущего пользователя, если такие есть
  10.   foreach ($userfile in $userfiles) # перебираем файлы из полученного списка
  11.   {
  12.    Copy-Item -Path $userfile.Fullname -Destination "$InputFolder\$($user.Name)_$filename" -Force -ErrorVariable Err -ErrorAction SilentlyContinue #копируем файл в папку InputFolder с новым именем, добавляя имя пользователя как префикс username_
  13.    if (!$err) {Remove-Item -Path $userfile.Fullname -Force} # если нет ошибки копирования, удаляем исходный файл
  14.    else {"Не удаётся скопировать файл $userfile.Fullname в $InputFolder\$($user.Name)_$filename"} # если есть ошибка - выводим сообщение
  15.   } # конец перебора файлов текущего пользователя
  16.  } # конец блока if (test-path)...
  17. } # конец перебора пользователей
  18.  
  19.  
  20. # Script 2
  21. $OutputFolder = 'path\to\outputfolder' # откуда берём файлы
  22. $OldServer = 'e:\OldServer' # куда их перекладываем
  23. $Users = Import-Csv -Path 'path\to\userlist.csv' # userlist.csv Поля: Name
  24. foreach ($user in $users) # перебираем пользователей
  25. {
  26.  if (Test-Path -Path "$OutputFolder\$($user.Name)_*") # проверяем, есть ли файлы с маской username_* в папке Output folder
  27.  {
  28.   $UserFiles = Get-ChildItem -Path "$OutputFolder\$($user.Name)_*" # получаем список файлов текущего пользователя, если они есть
  29.   Foreach ($userfile in $userfiles) # перебираем файлы из полученного списка
  30.   {
  31.    if (-not (Test-Path -Path "$OldServer\$($user.name)")) {New-Item "$OldServer\$($user.name)" -Force -ItemType Directory } # если нет папки OldServer\username - то создаём её
  32.    $NewName = $userfile.Name -replace "$($user.Name)_" # создаём новое имя файла, убирая префикс username_
  33.    Copy-Item -Path $userfile.Fullname -Destination "$OldServer\$($user.Name)\$NewName" -Force -ErrorVariable Err -ErrorAction SilentlyContinue # копируем файл в папку OldServer\username с новым именем.
  34.    if (!$err) {Remove-Item -Path $Userfile.Fullname -Force} # если нет ошибки копирования, удалаяем исходный файл
  35.    else {"Не удаётся скопировать файл $($Userfile.Name) в $OldServer\$($user.Name)\$NewName."} # если есть ошибка - выводим сообщение
  36.   } # конец перебора файлов текущего пользователя
  37.  } # конец блока if (test-path)...
  38. } # конец перебора пользователей
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement