Powershell 在文件夹中搜索文件名并将项目复制到其他位置
您好,在我们的环境中,我们有以下结构:Powershell 在文件夹中搜索文件名并将项目复制到其他位置,powershell,Powershell,您好,在我们的环境中,我们有以下结构: \\server\share1\Subfolder1\Subfolder3\123456.jpg \\server\share1\Subfolder2\Subfolder4\456789.jpg \\server\share2\123456.tif \\server\share2\456789.tif 我想做的是:检查该项目是否以tif形式存在于share2中。如果是这样,那么我想将tif文件复制到与jpg(share1)相同的位置 通过getchild
\\server\share1\Subfolder1\Subfolder3\123456.jpg
\\server\share1\Subfolder2\Subfolder4\456789.jpg
\\server\share2\123456.tif
\\server\share2\456789.tif
我想做的是:检查该项目是否以tif形式存在于share2中。如果是这样,那么我想将tif文件复制到与jpg(share1)相同的位置
通过getchilditem-Recurse-File
我可以获取所有文件,但我不知道如何将文件名与share2进行比较,并将tif文件复制到与jpg相同的位置
提前谢谢 这应该满足您的需要:
$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 }
}
- 获取Share1中的所有.jpg文件
- 遍历每个文件,并将
属性与Share2中的文件进行比较(basename是不带扩展名的文件名).basename
- 如果返回文件,则将该文件复制到share1
$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 }
}
- 获取Share1中的所有.jpg文件
- 遍历每个文件,并将
属性与Share2中的文件进行比较(basename是不带扩展名的文件名).basename
- 如果返回文件,则将该文件复制到share1