Powershell: обработка файлов в двух папках в зависимости от их содержимого - PullRequest
0 голосов
/ 10 декабря 2010

У меня есть две директории: c: \ Rar и c: \ unRared

Rar - содержит сотни файлов RAR. Только один файл внутри RAR. Файл внутри архива имеет расширение * .TRN. UnRared содержит разархивированные файлы (сотни файлов с расширением * .TRN)

Я пытался создать скрипт Powershell для извлечения только тех файлов, которые еще не были извлечены .

Ответы [ 2 ]

0 голосов
/ 11 декабря 2010

Нокаутировал это сам ... ну не совсем, с помощью разработчика

$dir1='C:\temp\aaa'
$dir2='C:\temp\bbb'
$CmdPath = "C:\Program Files (x86)\WinRAR\RAR.exe"
$Files2Extract = get-childitem -path 'C:\temp\aaa' -recurse -name -filter *.rar
#$d2 = get-childitem -path $dir2 -recurse

foreach($file in $Files2Extract){
    $justname =  $dir2+'\\'+(split-path $file -leaf).split(".")[0]+'.trn'

    if(!(Test-Path -path $justname)) {
        &$CmdPath e $file $dir2
    }

} 
0 голосов
/ 10 декабря 2010

Разве вы не можете просто предоставить параметры какой-либо программе сжатия, которая у вас есть, чтобы не перезаписывать существующие файлы?

...