Powershell压缩档案

时间:2019-01-21 18:48:59

标签: powershell

伙计们,我正在尝试编写一个脚本,该脚本将从CSV抓取网络路径,并将这些路径中的单个文件压缩为zip,然后将其移动到目标位置,将其命名为原始filename.zip。我想我很近但是没工作。您可以检查脚本并查看失败的地方吗?非常感谢!

**编辑使其适用于:

$Paths = Import-CSV “PATH” 
$Path = $Paths.path
$Files = Get-Childitem $Paths.path 
$Dest = "\\DESTPATH"
Foreach ($File in $Files) { Compress-Archive $Path\$File –DestinationPath $Dest\$File.zip -Verbose }

现在,我的问题是需要先验证ZIP的哈希值,然后才能将其移动到目标路径。这可能吗?还是我最好使用第三方软件?

1 个答案:

答案 0 :(得分:0)

您需要删除foreach内部的“文件”:

$Paths = Import-csv C:\Users\vmsilvamolina\Desktop\csv.csv
$Files = $Paths.path
Foreach ($File in $Files) {
    Compress-Archive $File –DestinationPath "C:\users\vmsilvamolina\Desktop\$($file.split("\")[-1]).zip" -Verbose
}

此外,我添加了split表达式以仅选择文件名。