我目前正在尝试将大量文件夹(〜550)从数据服务器(Q :)压缩到存档服务器(V :)。目标是将所有550个选定的文件夹移至我的V:Server,同时保留完全相同的文件夹结构。我想使用7Zip的命令行Compress-Archive
这样做,因为有人告诉我PowerShell的$listPath = "Q:\SourceNEW.csv"
$homepath = "data\clients"
$list = import-csv $listPath -Encoding UTF8
$driveone = "Q:\"
$drivetwo = "V:\"
foreach ($user in $list) {
$pathA = Join-Path ($driveone + $homepath) -ChildPath $user.username #Q:\ + data\clients + \A\Aclient\Aproject
$pathB = Join-Path ($drivetwo + $homepath) -ChildPath $user.username #V:\ + data\clients + \A\Aclient\Aproject
$pathsplit = Split-Path -Path $pathB -Leaf
if (-not (Test-Path "$env:ProgramFiles\7-Zip\7z.exe")) {
throw "$env:ProgramFiles\7-Zip\7z.exe needed"
}
Set-Alias sz "$env:ProgramFiles\7-Zip\7z.exe"
sz a -an -mx=5 $PathB $PathA
}
在处理大文件大小时非常麻烦。
所以我的想法是将(Q :)的整个文件夹结构复制到(V :),而不复制任何文件。这样一来,我只需使用不同的驱动器号即可将其压缩到完全相同的路径。我已经这样做了,所以现在Q:和V:具有相同的文件夹树。
{{1}}
这相当于将指定的文件夹从Q:复制到V :,因为它仅影响CSV中列出的文件。现在我的问题是,除了最后的7z排序文件之外,7Zip还创建了一个位于“ V:\”中的“ __。7z”文件,这只是我的Q:驱动器的全部内容。我错过了什么,每次都会压缩两次?