天天看點

7z壓縮文檔的powershell示例

首先要安裝7-Zip到c:\Program Files\7-Zip;

示例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

<code>#define Function DeleteLog</code>

<code>function</code> <code>DeleteLog{    </code>

<code>    </code><code>param</code><code>(</code><code>$filePath</code><code>,</code><code>$TimeOutDays</code><code>)    </code>

<code>    </code><code>$allFiles</code><code>=</code><code>get-childitem</code> <code>-path </code><code>$filePath</code>             

<code>    </code><code>foreach</code> <code>(</code><code>$files</code> <code>in</code> <code>$allFiles</code><code>){                </code>

<code>        </code><code>$daypan</code><code>=((</code><code>get-date</code><code>)-</code><code>$files</code><code>.lastwritetime).days                </code>

<code>        </code><code>if</code> <code>(</code><code>$daypan</code> <code>-gt</code> <code>$TimeOutDays</code><code>){                        </code>

<code>        </code><code>remove-item</code> <code>$files</code><code>.fullname -Recurse -force                 </code>

<code>        </code><code>}          </code>

<code>     </code><code>}</code>

<code>}</code>

<code>#define some vars</code>

<code>cd </code><code>"C:\Program Files\7-Zip"</code>

<code>$stringDate</code><code>=</code><code>get-date</code> <code>-UFormat </code><code>"%Y%m%d"</code>

<code>$fileName</code><code>=</code><code>"${stringDate}log"</code>

<code>#Compress Log and (Delete Log before one month)</code>

<code>$SoucePath</code><code>=</code><code>"C:\windows-services\log"</code>

<code>cmd /c </code><code>"7z.exe a -t7z D:\logs\$fileName $SoucePath\*"</code>

<code>$filePath</code><code>=</code><code>$SoucePath</code>

<code>$TimeOutDays</code><code>=30</code>

<code>DeleteLog -filePath </code><code>$filePath</code> <code>-TimeOutDays </code><code>$TimeOutDays</code>

<code>#Delete Backup log before two months</code>

<code>$Floders</code><code>=</code><code>Get-ChildItem</code> <code>d:\logs</code>

<code>foreach</code> <code>(</code><code>$Floder</code> <code>in</code> <code>$Floders</code><code>){    </code>

<code>    </code><code>$Floder</code><code>.lastwritetime = </code><code>Get-Date</code>

<code>$filePath</code><code>=</code><code>"D:\logs"</code>

<code>$TimeOutDays</code><code>=60</code>

本文轉自 bannerpei 51CTO部落格,原文連結:http://blog.51cto.com/281816327/1609728,如需轉載請自行聯系原作者

繼續閱讀