首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PowerShell 5压缩列表中的文件

使用PowerShell 5压缩列表中的文件
EN

Stack Overflow用户
提问于 2018-07-24 18:28:17
回答 5查看 765关注 0票数 1

我有一个文件,里面有一系列带方向的文件。

如下所示:

代码语言:javascript
复制
XXXXXX/sample.txt

XXXXXX/dog.txt

XXXXXX/cat.docx

ZZZZ/lamp.jpg

如何压缩所有文件并保存带有子方向的文件。

现在,我可以压缩所有的文件,但没有说明。

如下所示:

代码语言:javascript
复制
sample.txt

dog.txt

cat.docx

lamp.jpg

对不起,我的英语不好。

EN

回答 5

Stack Overflow用户

发布于 2020-02-03 19:28:48

代码语言:javascript
复制
foreach ($filename in Get-Content .\ListOfFilesToZip.txt)
{
    Compress-Archive -Update $filename .\ZipFile.zip
}
票数 1
EN

Stack Overflow用户

发布于 2018-07-24 18:34:16

如果问题是关于从路径获取文件名,请进行编辑

最有效的方法是使用正则表达式,但如果您不习惯使用它们,它们可能会相当复杂。

一种更简单的方法是简单地拆分每个字符串,并选择文件名所在的最后一部分:

代码语言:javascript
复制
$string = "c:\asd\qwe\zxc\dog.txt"

#Split the string on each \
    $string.Split("\") 

#This will output a list like this
c:
asd
qwe
zxc
dog.txt

现在我们只想选择列表中的最后一个条目,因为文件名始终是路径中的最后一个条目。因此我们使用Select Object来实现这一点。

代码语言:javascript
复制
$string.Split("\") | Select-Object -Last 1 

这将返回:

代码语言:javascript
复制
dog.txt

您可以通过列表上的foreach来获取每一项的值。

票数 0
EN

Stack Overflow用户

发布于 2018-07-24 18:40:19

不知道有没有更好的方法,但你可以创建一个临时文件夹,将要存档的文件和所需的文件夹结构一起复制到那里,然后压缩整个文件。

看一下示例的here (不是我的代码,但似乎就是这样做的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51496303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档