Q1. Я пробовал несколько сжатых методов, но ни один из них не работает на моей машине. Я просто могу использовать внешний zip-инструмент 7z.exe для сжатия файла, но у меня нет привилегии устанавливать файл 7z.exe на сервере A и обновлять powershell до v5. в настоящее время использует powershell v2
Пробовал, как показано ниже, но ничего из этого не работает. Итак, любой другой метод может ввести меня для сжатого файла?
- Add-Type -assembly "system.io.compression.filesystem"
- Компресс-архив
- Add-Type -Path C: \ Reference \ Draftdoc.docx
- C: \ Reference \ Images \ figure2.vsd -CompressionLevel Optimal
Путь назначения C: \ Archives \ Draft.Zip
Q2. Ниже приведен запрос, который я использую инструменты 7z.exe (этот serverB поставляется с 7z.exe), но я столкнулся с ошибкой. Я хочу сжать любой файл с сегодняшней датой.
$timestamp = (Get-Date).ToString('yyyy-MM')
$source = "D:\csv\*.csv", "D:\csv2\*.csv"
$target = "D:\CSV2_$timestamp.zip"
$7zip = "D:\Program Files\7-Zip\7z.exe"
#Compressed file
if (-not (test-path $7zip)) {throw '$7zip needed'}
set-alias sz $7zip
sz a -mx=9 $target $source
{
Get-ChildItem $source | Where{$_.LastWriteTime -gt (Get-Date).AddDays(-1)}
}
Примечание: оба сервера мне также нужны сжатые файлы, но ServerA не поставляется 7z, но сервер B поставляется с 7z.exe