首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PowerShell部分压缩文件名

PowerShell部分压缩文件名
EN

Stack Overflow用户
提问于 2021-07-08 16:40:50
回答 1查看 124关注 0票数 0

目前,我有一个代码,它提取每晚上传的zip文件,它的名称是CallRecording_1-000-XXXXXXXX,X表示生成zip文件的日期和时间。我想要做的是使用一个powershell脚本来查找部分名称。例如,它只需要查找CallRecording_1-000CallRecording

目前,我有以下脚本:

代码语言:javascript
代码运行次数:0
运行
复制
#expand archive into folder
expand-archive ("Y:\CallRecording_1-000.zip") -destinationPath $folder

#rename zip file with yesterdays date
$yesDateName = $yesDate + ".zip"
Rename-Item "Y:\CallRecording_1-000.zip" -NewName $yesDateName

我之前发现的使用部分名称的脚本似乎主要关注扩展,而不是名称本身。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-08 17:34:23

听起来你只需要一个zip文件,但是我为这个答案量身定做了一个以上的可能性。

我们将使用'CallRecordings*.zip'

  • We从y:\获取与file.

匹配的任何压缩文件,然后将这些文件一次传输到ForEach-Object cmdlet,在ForEach-Objectcmdlet中分配提取文件夹

  • ,解压缩文件

H 111,然后重命名file.

$i用于允许我们为重命名的zip文件命名不同的名称,以防处理超过一个。

代码语言:javascript
代码运行次数:0
运行
复制
    $i = 0
    Get-ChildItem -Path 'Y:\' -Filter 'CallRecording*.zip' | ForEach-Object -Process {
        $extractFolder = "C:\temp\$($_.BaseName)"
        $_ | Expand-Archive -DestinationPath $extractFolder 
        
        # ($? tells us if the last command completed successfully)
        if ($?) {
            # only rename file if Expand-Archive was successful
            $_ | Rename-Item -NewName ((Get-Date).AddDays(-1).ToString('yyyyMMdd') + "_$((++$i)).zip")
        }
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68305619

复制
相关文章

相似问题

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