我想移动一个文件结构,由.zip文件解压缩到目标目录。
提取ZIP工作,移动文件也是如此。
但是有几种情况,目标目录已经包含一个与文件结构到副本同名的文件。
也许我想将所有文件从/ temp /复制到/ target /
有一个文件/temp/new/2/test.txt,它已存在于/target/new/2/test.txt
=>在这种情况下,我不想将任何文件从Temp文件夹复制到Target文件夹。
我如何通过PowerShell实现这一目标?
方式,我现在正在移动文件:
Get-ChildItem -Path $unzipDir -Recurse | Move-Item -Destination $targetDir
谢谢:)
答案 0 :(得分:1)
过滤掉目标路径已经存在的文件。
Get-ChildItem -Path $unzipDir -Recurse |
Where { -not Test-Path (Join-Path $targetDir $_) } |
Move-Item -Destination $targetDir
Where
正文中,$_
指的是当前文件。Join-Path
涉及从两个部分构建有效路径。答案 1 :(得分:0)
if(-not (Test-Path "./target/new/2/test.txt")){
Get-ChildItem -Path $unzipDir -Recurse | Move-Item -Destination $targetDir
}