您好,在我们的环境中,我们有以下结构:
\\server\share1\Subfolder1\Subfolder3\123456.jpg
\\server\share1\Subfolder2\Subfolder4\456789.jpg
\\server\share2\123456.tif
\\server\share2\456789.tif
我想要做的是:检查share2中的项目是否存在为tif。如果是这样,那么我想将tif文件复制到与jpg(share1)相同的位置。
通过Get-ChildItem -Recurse -File
我可以获取所有文件,但我不知道如何将文件名与share2进行比较,并将tif文件复制到与jpg相同的位置。
提前致谢!
答案 0 :(得分:3)
这应该做你需要的:
$JpgFiles = Get-ChildItem .\Share1 -Recurse -File -Filter *.jpg
ForEach ($File in $JpgFiles) {
$TifFile = Get-ChildItem .\Share2 -Recurse -File -Filter *.tif | Where { $_.BaseName -eq $File.BaseName }
If ($TifFile) { Copy-Item -Path $TifFile.FullName -Destination $File.DirectoryName }
}
.basename
属性与Share2中的文件进行比较(basename是不带扩展名的文件名)。