Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Powershell как вернуть из функции строку / 3 сообщений из 3, страница 1 из 1
20.01.2020, 16:41
    #39916431
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Powershell как вернуть из функции строку
Есть ф-я копирования файлов которая должна вернуть либо "success" либо "failed":

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
function Get-FileMD5 {
    ...
}

function Copy-files() {
    param (
         [Parameter (Mandatory = $true)]
            [string] $SRC_DIR,
         [Parameter (Mandatory = $true)]
            [string] $DST_DIR
        )
		
    [string] $result = "success"        
    
    $SourceFiles = GCI -Recurse $SRC_DIR | ? { $_.PSIsContainer -eq $false} 
    $SourceFiles | % { 

        $src = $_.FullName 
	    try
	    {		
		   ...		    
		    if ($cpy -eq $true) { 
			    
			    if (!(test-path $dest)) {
				    New-Item -ItemType "File" -Path $dest -Force   
			    }	

			    Copy-Item -Path $src -Destination $dest -errorAction stop  !!!555!!!
		    }				    
	    }
	    catch
	    {
            $result = "failed"            
		    Write-Host "Unable to copy " $src
		    break  
	    }	
    }
    return $result
}



Подключаю файл с этой функцией и вызываю

Код: powershell
1.
2.
3.
4.
# копируем из репазитария в дев
[string] $copy_dev_result = "success"
. "$PSScriptRoot\copy_files.ps1"
$copy_dev_result = Copy-files $repo_dir $dev_dir



И возвращается список копированных файлов.
Если файлов для копирования не было, то все нормально, возвращается "success".
Я так понимаю функция Copy-Item в поток возвращает имя файла, а как вернуть именно строку $result ?
...
Рейтинг: 0 / 0
20.01.2020, 17:08
    #39916460
listtoview
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Powershell как вернуть из функции строку
и почему то после break в return не попадаю
...
Рейтинг: 0 / 0
20.01.2020, 20:52
    #39916540
volodin661
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Powershell как вернуть из функции строку
listtoview,

кому ж охота разбираться ..
засунь в Exception-конструкцию finally

а break тут при чём ? он работает в операторах циклов и в операторе switch
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Powershell как вернуть из функции строку / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]