根据要求,在特定子文件夹中搜索文件,然后复制到目标路径。我之前在c#.NET中实现过,但现在想要在PowerShell中进行转换。
foreach (var directory in Directory.EnumerateDirectories(sourcePath, specificChildFolder, SearchOption.AllDirectories))
{
var pathSrc = Path.Combine(directory, "xyz.config");
if (File.Exists(pathSrc))
{
File.Copy(pathSrc, pathDst, true);
break;
}
}
答案 0 :(得分:1)
以下是您可以使用的代码:
$path = "C:\Users\user1\Desktop\Config Rework\"
$destination = "c:\destination\"
foreach ($filepath in [System.IO.Directory]::EnumerateFiles($path,"xyz.config","AllDirectories"))
{
$file = New-Object System.IO.FileInfo($filepath)
if(Test-Path $file)
{
write-host $file.FullName
copy $file $destination
Write-Host 'Copied' $file ' to ' $destination
}
}
输出:
C:\Users\user1\Desktop\Config Rework\xyz\xyz.config
Copied C:\Users\user1\Desktop\Config Rework\xyz\xyz.config to c:\destination\
这已遍历C:\ Users \ user1 \ Desktop \ Config Rework下的子文件夹,检查xyz.config是否存在,然后将其复制到目标文件夹。
请注意,如果您的目录如下所示:
xyz文件夹下的xyz.config优先,因为它将遍历子文件夹。