如何将文件从一个子文件夹移动到另一个子文件夹也重复使用PowerShell的其他文件相同

vc9ivgsu  于 2023-02-13  发布在  Shell
关注(0)|答案(1)|浏览(158)

我正试图从一个位置复制一个文件到另一个。问题是有多个文件夹,所以我在插件文件夹下工作,再次有子文件夹在它。我想在每个文件夹中搜索,如果它包含MANIFEST.MF.eclipse文件,如果是,我必须移动该文件在其子文件夹称为元INF。(需要做同样的插件下的所有子文件夹)

$current_folder = .\temp\p2\plugins\com.xyz.*\MANIFEST.MF.eclipse -Recurse | 
$new_folder = .\temp\p2\plugins\com.xyz.*\META-INF
if (Test-Path -Path $new_folder){
 Move-Item -Path $current_folder -Destination -Path $new_folder
 }
 else{
 New-Item -ItemType 'Directory' -Name $new_folder
 Move-Item -Path $current_folder -Destination -Path $new_folder
 }
ekqde3dh

ekqde3dh1#

好的,那么你想在一个给定的目录中搜索任何名为“MANIFEST.MF.eclipse”的文件,然后把它们移到一个名为\META-INF的子目录中?
我确信还有更“优雅”的解决方案,但这在我有限的测试中有效

$rootpath = "C:\test\app"
$foldername = "META-INF"
$files = Get-ChildItem $rootpath -Recurse -Filter *MANIFEST.MF.eclipse

foreach($f in $files)
{
$testpath = $f.DirectoryName +'\'+ $foldername
    if(!(Test-Path $testpath))
    {
    mkdir $testpath
    }

Move-Item $f.FullName -Destination $testpath
}

相关问题