Я хочу переместить файлы с выбранными расширениями в другую папку, проверив вложенную папку. Кто-нибудь может мне помочь - PullRequest
0 голосов
/ 06 июля 2018

Нужно переместить файлы с выбранными расширениями в другую папку, проверив вложенную папку. Может ли кто-нибудь помочь мне.

Ответы [ 2 ]

0 голосов
/ 06 июля 2018
$SourceFolder = "C:\test\source"
$DestinationFolder = "C:\test\dest"
$exstension = "txt"

if(!(Test-Path $DestinationFolder))
{
    [void](New-Item -ItemType Directory $DestinationFolder)  
}

foreach ($item in (Get-ChildItem -Path $SourceFolder -Recurse -Filter "*.$exstension"))
{
    $DestinationPath = "$DestinationFolder\$($item.Name)"
    if(Test-Path $DestinationPath)
    {
        Write-Host "File `"$DestinationPath`" already exists. File has not been copied." -BackgroundColor Red
        continue 
    }

    Try
    {
        Copy-Item $item.FullName $DestinationPath -ErrorAction Stop 
        Write-Host "Copied `"$($item.FullName)`" to `"$DestinationPath`"" -BackgroundColor Green
    }
    catch
    {
        Write-Host "Error while copying `"$($item.FullName)`" : $($_.ExeptionMessage)"
    }    
}
0 голосов
/ 06 июля 2018

Для начала вам поможет что-то вроде следующего:

#Set Path
$sourcePath = "c:\Windows\Logs"
$extension = ".txt"
$destinationPath = "c:\logs"

#Use Get Child Item to find all files with extension
$files = Get-ChildItem -Path "$sourcePath\*" -Include "*$extension"

#loop through each file and move to destination
foreach($file in $files){

Move-Item -Destination $destinationPath -Path $file.FullName -Confirm:$false

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...