Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;给定路径';不支持s格式";在Powershell中使用相对路径时_Powershell_Invoke Sqlcmd - Fatal编程技术网

&引用;给定路径';不支持s格式";在Powershell中使用相对路径时

&引用;给定路径';不支持s格式";在Powershell中使用相对路径时,powershell,invoke-sqlcmd,Powershell,Invoke Sqlcmd,我有一个Powershell脚本,我已经成功地使用了一段时间,但直到最近它才不再喜欢设置的相对路径。你知道为什么会发生这种情况吗 我试图调用的脚本的位置是C:\Scripts\01\u Upload.sql $scripts = "C:\Scripts" cd $scripts Invoke-Sqlcmd -ServerInstance 'xxx-xx-xxxx' -Database 'TestDB' -InputFIle .\01_Upload.sql 为了安全起见,我对

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

我试图调用的脚本的位置是C:\Scripts\01\u 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,如果这影响了事情的话。

根据文档,需要文件的完整路径

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


如果指定根路径,是否有效
-InputFile C:\Scripts\01\u Upload.sql
如果您刚刚删除该怎么办。\n这就像调用Sqlcmd-ServerInstance'xxx xx xxxx'-数据库'TestDB'-InputFile。\01\u Upload.sql因为相对路径几乎总是一个非常糟糕的主意。。。为什么不借此机会纠正代码中的一个弱点&摆脱那些完全不必要但风险极大的相对路径?[grin]@MathiasR.Jessen Yep,如果我指定一个完整的根路径,它将完全正常工作。我只是好奇为什么我的相对路径在一个一直有效的脚本中突然中断。@DanielBjörk Yep,正如我在帖子中提到的,我在没有使用的情况下尝试了它。\n但它仍然返回相同的错误。我能让它工作的唯一方法就是使用完整路径。谢谢!这一定是SQL cmdlet的最新更新,因为它以前一直在工作(无可否认,已经12个月没有使用)。