这是我在powershell中的脚本
$today = (Get-Date).ToString('dd_MM_yyyy')
$LocalPath = "C:\Builds\$today"
New-Item -ItemType directory -Path $LocalPath
$RemotePath = "C:\Builds\zip\$today"
$Max_hours = "-5"
#Max_mins = "-5"
$Curr_date = get-date
#Checking date and then copying file from LocalPath to RemotePath
Foreach($file in (Get-ChildItem $RemotePath))
{
if($file.LastWriteTime -gt ($Curr_date).addhours($Max_hours))
{
Get-ChildItem "C:\Builds\zip\$today\*pc*.*" | % {& "C:\Program Files\7-Zip\7z.exe" "x" "-aoa" $_.fullname "-oC:\Builds\$today"}
}
ELSE
{"not extracting $file"
}
}
我有一些* .zip文件,我想将其提取到特定文件夹中。问题是,7zip创建带有* .zip名称的子文件夹并将文件解压缩到此文件夹中。
EG。我有 a.zip , b.zip 和 c.zip 文件,我希望它们能够在Builds文件夹中完全提取。现在,在我的命令之后,它们被提取到:
构建/ a /(此处为a.zip文件)
Builds / b /(这里是b.zip文件)
Builds / c /(这里是c.zip文件)
我希望它们都在Builds /(这里是a,b,c文件)中,具有完整的目录路径。 shell中是否有任何7zip选项可以做到这一点?
' -e'选项exctracts没有文件夹路径的所有文件,那就是我现在正在寻找的东西。
答案 0 :(得分:0)
如果您使用的是PowerShell v5,则可以使用Expand-Archive代替7zip:
Expand-Archive C:\aaaa\nuget350.zip -DestinationPath C:\bbbb
修改强>
使用该命令时,我没有创建文件夹。
包含文件的zip文件:
正在运行{{1}}
提取的内容: