需要能够单独运行位于多个子目录中的.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"
答案 0 :(得分:2)
将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"