Перейти к содержанию

PowerShell - Шпаргалка и база знаний


Шуба-Кот

Рекомендуемые сообщения

# Архивирование с помощью 7z и копирование в папку на удаленном сервере
# Создает архив на локальной машине - если архив выполнен удачно, отправляет в сетевую шару, если неудачно, то выдает сообщение "Архивирование завершилось с неудачей"

Function Get-WeekOfMonth    
{    
   param ([datetime]$date = (Get-Date)) 
    
    $beginningOfMonth = New-Object DateTime($date.Year,$date.Month,1)  
  
    while ($date.Date.AddDays(1).DayOfWeek -ne (Get-Culture).DateTimeFormat.FirstDayOfWeek) 
   { 
        $date = $date.AddDays(1)    
     } 
    [int]([Math]::Truncate($date.Subtract($beginningOfMonth).TotalDays  / 7) + 1)    
}  

$Month = (Get-Date).ToString("MMMM") 
$Day = (Get-Date).ToString("dddd") 
$Week = Get-WeekOfMonth 

$zip = "C:\Program Files\7-Zip\7z.exe" 

# Куда архивируем личные папки 
$FilesArh = "C:\Test\Test.7z" 
$ShareFolder = "\\secondad\Backup\Test\$Month\$Week\$Day\" 
$Dir = "C:\Folder" 

&$zip a "$FilesArh" $Dir 

if ($LastExitCode -eq 0) 
{ 
   if ( -not (Test-Path $ShareFolder)) 
   { 
      md $ShareFolder | Out-Null 
   } 
    
   Copy-Item $FilesArh -Destination $ShareFolder 
} 
else 
{ 
   Write-Host "Архивирование завершилось неудачей." 
}

Архивирование с помощью 7z и копировани в папку на удаленном сервере

Ссылка на комментарий

Копирование папки на удаленный сервер

# Копирование папки на SMB сервер

# Папка назначения на удаленном сервере
$destination = "Microsoft.Powershell.Core\FileSystem::\\srv01\backup\bases"
 
# Копирование папки на сервер
try
{
    Copy-Item -Path "D:\Folder\Subfolder1" -Destination $destination -Recurse -Force
 
}
catch
{
   $_.Exception.message
}

 

Ссылка на комментарий
  • admin изменил название на PowerShell - Шпаргалка и база знаний

Изменение кодировки файла с помощью Powershell

# Изменение кодировки файла

Get-Content 'C:\Users\user\Desktop\yourfile.txt' | Out-File -Encoding oem 'C:\Users\user\Desktop\targetfile.txt'

 -Encoding Устанавливает кодировку целевого файла. По умолчанию utf8NoBOM.
 

Возможные варианты кодировок:

  •     ascii: Uses the encoding for the ASCII (7-bit) character set.
  •     ansi: Uses the encoding for the for the current culture's ANSI code page. This option was added in PowerShell 7.4.
  •     bigendianunicode: Encodes in UTF-16 format using the big-endian byte order.
  •     bigendianutf32: Encodes in UTF-32 format using the big-endian byte order.
  •     oem: Uses the default encoding for MS-DOS and console programs.
  •     unicode: Encodes in UTF-16 format using the little-endian byte order.
  •     utf7: Encodes in UTF-7 format.
  •     utf8: Encodes in UTF-8 format.
  •     utf8BOM: Encodes in UTF-8 format with Byte Order Mark (BOM)
  •     utf8NoBOM: Encodes in UTF-8 format without Byte Order Mark (BOM)
  •     utf32: Encodes in UTF-32 format.


 Encoding is a dynamic parameter that the FileSystem provider adds to the Get-Content cmdlet. This parameter is available only in file system drives.

 Начиная с PowerShell 6.2, можно задавать параметр в виде ID (например -Encoding 1251) или строковым наименованием (например -Encoding "windows-1251"). For more information, see the .NET documentation for Encoding.CodePage.

  • Поднять репутацию 1
Ссылка на комментарий

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...