0

我有一个 Powershell 脚本,我已经成功使用了一段时间,但直到最近它才停止喜欢设置的相对路径。知道为什么或如何发生这种情况吗?

我试图调用的脚本的位置是 C:\Scripts\01_Upload.sql。

$scripts = "C:\Scripts"
cd $scripts
Invoke-Sqlcmd -ServerInstance 'xxx-xx-xxxx' -Database 'TestDB' -InputFIle .\01_Upload.sql

为了安全起见,我已经审查了服务器名称。这条线以前工作过,我也尝试过不同的方法,只是使用01_Upload.sql并用引号括起来,但现在它返回此错误:

Invoke-Sqlcmd : The given path's format is not supported.

如果我包含完整路径,则代码可以正常工作。为什么我的相对路径不起作用?如果这有影响,我最近从 Windows 7 更新到 Windows 10。

4

1 回答 1

1

根据文档,文件的完整路径是必需的。

-InputFile 指定要用作此 cmdlet 的查询输入的文件。该文件可以包含 Transact-SQL 语句、XQuery 语句以及 sqlcmd 命令和脚本变量。指定文件的完整路径。文件路径或文件名中不允许有空格。

https://docs.microsoft.com/en-us/powershell/module/sqlserver/invoke-sqlcmd?view=sqlserver-ps

于 2020-07-31T10:24:38.053 回答