运行脚本的推荐方法是
powershell.exe -NonInteractive -Command " & some.ps1 "
但是,例如TeamCity PowerShell runner使用:
powershell.exe -NonInteractive -Command - < some.ps1
我不知道“ - &lt;”意味着无法找到有关主题的任何信息。有什么帮助吗?
答案 0 :(得分:15)
因为通过Windows shell调用powershell.exe
,所以它与您在普通命令提示符(cmd.exe
)上的情况相同。在那种情况下,<
将文件传递给上一个命令的标准输入(stdin
)。 powershell.exe
的帮助说明如果-Command
的值只是-
,则从标准输入读取命令文本。
以下是<
中cmd.exe
的更自我文档演示:
processSomeFile.exe outputFileName.ext < intputFile.ext
答案 1 :(得分:1)
如果Command的值为“ - ”,则从中读取命令文本 标准输入。
&LT;只是标准输出 - &gt; stdin重定向运算符
答案 2 :(得分:0)
我会说执行脚本的推荐方法是使用-File参数:
powershell.exe -NonInteractive -Command -File some.ps1
关于你的问题,'&lt;'字符已保留,无法在PowerShell中使用。
答案 3 :(得分:0)
使用像&gt;这样的I / O运算符和&lt;在bash脚本中意味着您写输出到外部文件,即:
echo hello > hello.txt
或获取来自外部文件的输入,即:
psql -U test test < script.sql
相同的逻辑应用于windows powershell,您可以获得更多信息HERE