Укажите частичный каталог для использования в Powershell Invoke sqlcmd

Необходимо иметь возможность запускать файлы.sql по отдельности, которые расположены в нескольких подкаталогах. Этот сценарий будет выполняться на нескольких компьютерах, где каталог не будет одинаковым, но подкаталоги будут. Поэтому я хочу иметь возможность определять каталог как переменную, как это.

$Path = 'D:\Source\Database'
invoke-sqlcmd -Username $username -Password $password -inputfile "$Path*\SQLServer\create_types.sql" -serverinstance "localhost" -database "test" | Out-File -FilePath "c:\testoutput.txt"

1 ответ

Использование Get-ChildItem с -recurse и труба в ForEach петля.

$Path = 'D:\Source\Database'
Get-ChildItem "$Path\*\SQLServer\create_types.sql" -recurse|ForEach{
    invoke-sqlcmd -Username $username -Password $password -inputfile $_.FullName -serverinstance "localhost" -database "test"
} | Out-File -FilePath "c:\testoutput.txt"
Другие вопросы по тегам