请解释set-content $ zipfilename("PK"+ [char] 5 + [char] 6 +("$([char] 0)"*18))Powershell Script行

Sea*_*ter 12 powershell zip

在研究了如何使用Powershell创建zip文件后,我发现了以下非常有用的链接,该链接描述了如何使用Powershell创建一个zip文件,其中包含以下脚本:

set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
Run Code Online (Sandbox Code Playgroud)

这就像一个魅力,问题是我根本不明白它是如何工作的.我能否详细说明这是做什么的?

rav*_*nth 13

通过使用("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))作为值set-Content,我们只是添加文件头并创建一个0字节.zip文件.

要理解这一点,您可能需要阅读文件标题部分:

ZIP文件中的标题以"PK"(50 4B)开头,这是DOS压缩实用程序PKZIP的作者Phil Katz的缩写.