gpt4 book ai didi

powershell - 使用Powershell压缩具有特定文件名的文件?

转载 作者:行者123 更新时间:2023-12-02 23:41:28 27 4
gpt4 key购买 nike

我有一组文件名为:20161205_abc,20161205_bcd,20161205_cde,20161206_abc,20161204_abc。

我有一个脚本来压缩所有具有以下名称的文件:20161205 *。

Add-Type -assembly 'System.IO.Compression'

[string]$zipFN = 'u:\users\riteshthakur\desktop\myZipFile.zip'
[string]$fileToZip = 'u:\users\riteshthakur\desktop\abc\20161205*.txt'

[System.IO.Compression.ZipArchive]$ZipFile = [System.IO.Compression.ZipFile]::Open($zipFN, ([System.IO.Compression.ZipArchiveMode]::Create))
[System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($ZipFile, $fileToZip, (Split-Path $fileToZip -Leaf))
$ZipFile.Dispose()

这将引发错误:“使用“3”参数调用“CreateEntryFromFile”的异常:“路径中的非法字符”。
在U:\ Users \ riteshthakur \ Desktop \ Zip.PS1:7 char:1
+ [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($ ZipFile,$ fileTo ...“

请帮忙。

最佳答案

由于*不是可接受的字符。您可以用Get-ChildItem和过滤器替换$ filesToZip,然后使用foreach遍历值。

Add-Type -assembly 'System.IO.Compression'
Add-Type -assembly 'System.IO.Compression.FileSystem'
[string]$zipFN = 'c:\temp\myZipFile.zip'
$filesToZip = (Get-ChildItem -Path "c:\temp\" -Filter test.*).fullname

[System.IO.Compression.ZipArchive]$ZipFile = [System.IO.Compression.ZipFile]::Open($zipFN,([System.IO.Compression.ZipArchiveMode]::Create))
foreach ($fileToZip in $filesToZip) {
[System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($ZipFile, $fileToZip, (Split-Path $fileToZip -Leaf))
}
$ZipFile.Dispose()

关于powershell - 使用Powershell压缩具有特定文件名的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41102411/

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