Выполнение сценария powershell с использованием OdiOSCommand - PullRequest
0 голосов
/ 15 февраля 2019

Я создал командный файл, который сначала вызывает cmd, затем он должен вызвать powershell, прочитать определенный файл и создать новый файл, который кодирует его в UTF-8.Выполнение этого сценария вручную работает нормально.

Oracle Data Integrator поддерживает команды OSCom, поэтому я использую этот элемент для вызова пакетного сценария, который я создал для этой цели (по причинам автоматизации).Ниже вы можете найти код пакетного сценария:

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, было бы очень полезно

1 Ответ

0 голосов
/ 15 февраля 2019

Использование кода ниже решило проблему: 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"

...