0

需要能够单独运行位于多个子目录中的 .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"
4

1 回答 1

2

使用Get-ChildItemwith-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"
于 2016-02-24T20:00:48.013 回答