[英]PowerShell partial zip file name
目前我有一个代码可以提取每晚上传的 zip 文件,它的名称为CallRecording_1-000-XXXXXXXX
,X 代表生成 zip 文件的日期和时间。 我想要做的是有一个 powershell 脚本来查找部分名称。 例如,它只会查找CallRecording_1-000
或CallRecording
。
目前我有以下脚本:
#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.