繁体   English   中英

PowerShell 部分 zip 文件名

[英]PowerShell partial zip file name

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

目前我有以下脚本:

#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

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

任何帮助,将不胜感激!

听起来您只期望 1 个 zip 文件,但是我围绕可能有 1 个以上的 zip 文件定制了此答案

  • 我们将使用Get-ChildItem从 y:\\ 中获取与“CallRecordings*.zip”匹配的任何 zip 文件
  • 然后,我们一次一个地将这些文件通过管道传送到ForEach-Object cmdlet,在那里我们
    • 分配提取文件夹
    • 解压文件
    • 然后重命名文件。

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

    $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")
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM