gpt4 book ai didi

powershell - Powershell:没有创建文件夹的ExtractToDirectory

转载 作者:行者123 更新时间:2023-12-02 23:51:01 25 4
gpt4 key购买 nike

我有一个具有以下结构的zip文件:test.zip -> Mark -> Today-> *.* ( every files)
当我提取它时,得到的结果是:test (folder) -> Mark (folder) -> Today ->*.* ( every files)
我如何获得这种结构:Today (folder) ->*.* (every files)
我的意思是,我试图避免创建前两个文件夹。

最好的办法是仅提取没有文件夹的文件

 function Unzip
{
param([string]$zipfile, [string]$out)
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $out)
}
unzip Test.zip $testPath
编辑:
对不起,我在这个问题上弄错了。
正确的问题是:如何仅提取文件或最后一个文件夹(今天)。我想知道我是否需要一个临时文件夹或是否有一个选项,但是阅读文档似乎没有

最佳答案

这是在不考虑文件夹结构的情况下仅提取文件的方法。

Add-Type -AssemblyName 'System.IO.Compression.FileSystem'

function Unzip {
param([string]$zipfile, [string]$out)


$Archive = [System.IO.Compression.ZipFile]::OpenRead($zipfile)
Foreach ($entry in $Archive.Entries.Where( { $_.Name.length -gt 0 })) {
[System.IO.Compression.ZipFileExtensions]::ExtractToFile($entry, "$out\$($entry.Name)")
}
$Archive.Dispose()
}

# Example
Unzip -zipfile 'Z:\_tmp\impfiles\1.zip' -out 'Z:\_tmp\impfiles'

当然,既然您已经放弃了文件夹结构,则必须(如果需要)实现某种方式来解决文件名冲突的可能性(例如,如果您在2个不同的文件夹中都有一个Readme.txt)

关于powershell - Powershell:没有创建文件夹的ExtractToDirectory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59570774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com