Как переместить файлы с помощью PowerShell, которых нет в папке назначения? - PullRequest
0 голосов
/ 30 марта 2020

Мне нужна помощь в написании одного сценария PS для регулярного перемещения файлов из одной папки в другую для обработки. Я использовал приведенный ниже код, но я не понимаю, как проверить, присутствует ли файл в месте назначения или нет. Если он присутствует, то файл не должен копироваться. Помогите, пожалуйста.

$destination = "C:\Users\User\Desktop\Destination\"
$source = "C:\Users\User\Desktop\Source"
$files = Get-ChildItem $source
Write-Host $files
foreach($file in $files)
{

    $path = "C:\Users\User\Desktop\Source\" + $file
    Move-Item -Path $path -Destination $destination -Force
}

Помогите, пожалуйста, по проверке наличия файла в папке «Destination» и пропустите его.

С уважением,

Mite sh Agrawal

Ответы [ 2 ]

2 голосов
/ 30 марта 2020

Использование Tes-Path со свойством leaf проверяет, существует ли какой-либо файл.

if! (Test-Path $ path -PathType leaf) {Move-Item -Path $ path -Destination $ destination -Force}

0 голосов
/ 30 марта 2020

Спасибо @ kamel. Приведенный ниже код работал отлично.

$destination = "C:\Users\User1\Desktop\Destination\"
$source = "C:\Users\User1\Desktop\Source"
$files = Get-ChildItem $source
Write-Host $files
foreach($file in $files)
{
    $path1 = "C:\Users\User1\Desktop\Source\" + $file
    $path2 = "C:\Users\User1\Desktop\Destination\" + $file
    if (!(Test-Path $path2 -PathType leaf)) 
    { 
    Move-Item -Path $path1 -Destination $destination -Force
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...