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

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.

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

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

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

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

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

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

Войти

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

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