伙计们,我正在尝试编写一个脚本,该脚本将从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的哈希值,然后才能将其移动到目标路径。这可能吗?还是我最好使用第三方软件?
答案 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表达式以仅选择文件名。