这是什么脚本?它是如何使用 .NET 4.5 的?它是 C# 脚本吗?PowerShell 脚本吗?VBA 脚本吗?

这是什么脚本?它是如何使用 .NET 4.5 的?它是 C# 脚本吗?PowerShell 脚本吗?VBA 脚本吗?

这是什么脚本?它是如何使用 .NET 4.5 的?它是 C# 脚本吗?PowerShell 脚本吗?VBA 脚本吗?

我在另一个问题中找到了此答案,对此感到很好奇。由于它使用的是 .NET 4.5,我尝试在 .NET 4.7 解决方案中使用相同的方法,但在 Intellisense 中不可用。另外,我不明白如何通过 PowerShell 以这种方式调用 .NET 4.5,以及它与我从 SDK 中获得的方法有何不同?

以下代码由@MDMarra 提交

[Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem")
$Compression = [System.IO.Compression.CompressionLevel]::Optimal
$IncludeBaseDirectory = $false

$Source = "C:\Path\To\Source"
$Destination = "C:\CoolPowerShellZipFile.zip"

[System.IO.Compression.ZipFile]::CreateFromDirectory($Source,$Destination,$Compression,$IncludeBaseDirectory)

Windows 是否有内置的命令行 ZIP 命令?

答案1

powershell [主要] 建立在 dotnet 之上。它有很多方法可以访问底层的 dotnet 代码、c# 代码、编译的 DLL 代码等。PoSh cmdlet 设计用于易于使用和阅读。然而,直接访问事物的核心部分会更快一些,并且在某些情况下可能允许更多的控制。

所以,这个过程相当简单。[咧嘴笑]

至于文件压缩,是的,现在有一个用于此的 cmdlet:,Compress-Archive它是 .NET 类的包装器[System.IO.Compression.ZipArchive]。但早期没有这样的 cmdlet。

答案2

在我看来,它System.IO.Compression.FileSystem是一个调用 C# 类的 powershell 脚本。

相关内容