[英]Powershell SQL Server Agent CmdExec job step multiple line code
[英]Can't run a Powershell command in a SQL Server Agent Job Step
我尝试使用“Powershell”选项和命令(均无效):
Get-Item "*.csv" | Out-File "d:\tracking\$(get-date -f yyyyMMdd-hhmmss).txt"
"Get-Item """*.csv""" | Out-File """d:\tracking\$(get-date -f yyyyMMdd-hhmmss).txt""""
并尝试使用“CmdExec”选项和命令(它不起作用):
powershell.exe -Command "Get-Item """*.csv""" | Out-File """d:\tracking\$(get-date -f yyyyMMdd-hhmmss).txt""""
但最后一个命令在单独的 cmd.exe window 上运行正常,以下命令在 powershell 中也运行正常:
Get-Item "*.csv" | Out-File "d:\tracking\$(get-date -f yyyyMMdd-hhmmss).txt"
他们创建一个文本文件,例如。 “20220607-112233.txt”包含 CSV 个文件的目录列表
但是我无法在作业步骤中使用此命令该步骤以“无法运行。语法错误”结束
好的,我找到了解决方案:
我用块 2 中的代码创建了一个批处理(.bat 文件):
powershell.exe -Command "Get-Item """*.csv""" | Out-File """d:\tracking\$(get-date -f yyyyMMdd-HHmmss).txt""""
(我只将 hh 更改为 HH,基于 24 小时的时间)
然后,我将作业步骤配置为运行 bat 文件(设置选项“cmdExec”)
就这样
我不知道发生了什么,目录权限没问题,如果我用xp_cmdshell
执行上面代码块 #2 的命令甚至可以工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.