使用 OdiOSCommand 执行 powershell 脚本
Executing powershell script using OdiOSCommand
我创建了一个批处理文件,它首先调用 cmd,然后它应该调用 powershell,读取特定文件,并创建一个将其编码为 UTF-8 的新文件。手动执行此脚本效果很好。
Oracle Data Integrator 支持 OSCommand,因此我使用该元素来调用我为此目的(自动化原因)创建的批处理脚本。您可以在下面找到批处理脚本的代码:
cmd
powershell
"Get-Content D:\mrapateatrit\SOURCE_FILES\Puntoret.txt | Set-Content -Encoding utf8 D:\mrapateatrit\SOURCE_FILES\Puntoret_utf8.txt"
exit;
当我执行调用此脚本的 ODI 包时,它会将此输出到文件:
C:\Users\lori\Desktop>cmd
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\lori\Desktop>
这意味着它在代码中只是调用cmd,而不是读取powershell命令。
该元素可以采用的一些参数:
Command to execute: I provided the path of the batch script
Output file directory: path provided
Error file directory: Error file path provided
Working directory: desktop path provided
如果有人可以帮助我创建通过 ODI 调用该脚本的理想方式,那将非常有帮助
使用下面的代码解决了这个问题:
cmd /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "Get-Content D:\mrapateatrit\SOURCE_FILES\Puntoret.txt | Set-Content -Encoding utf8 D:\mrapateatrit\SOURCE_FILES\Puntoret_utf8.txt"
我创建了一个批处理文件,它首先调用 cmd,然后它应该调用 powershell,读取特定文件,并创建一个将其编码为 UTF-8 的新文件。手动执行此脚本效果很好。
Oracle Data Integrator 支持 OSCommand,因此我使用该元素来调用我为此目的(自动化原因)创建的批处理脚本。您可以在下面找到批处理脚本的代码:
cmd
powershell
"Get-Content D:\mrapateatrit\SOURCE_FILES\Puntoret.txt | Set-Content -Encoding utf8 D:\mrapateatrit\SOURCE_FILES\Puntoret_utf8.txt"
exit;
当我执行调用此脚本的 ODI 包时,它会将此输出到文件:
C:\Users\lori\Desktop>cmd
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\lori\Desktop>
这意味着它在代码中只是调用cmd,而不是读取powershell命令。 该元素可以采用的一些参数:
Command to execute: I provided the path of the batch script
Output file directory: path provided
Error file directory: Error file path provided
Working directory: desktop path provided
如果有人可以帮助我创建通过 ODI 调用该脚本的理想方式,那将非常有帮助
使用下面的代码解决了这个问题:
cmd /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "Get-Content D:\mrapateatrit\SOURCE_FILES\Puntoret.txt | Set-Content -Encoding utf8 D:\mrapateatrit\SOURCE_FILES\Puntoret_utf8.txt"