![](/img/trans.png)
[英]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.