Nifi запускает пакетный файл. CMD (.bat). ExecuteProcess

#batch-file #cmd #apache-nifi

#пакетный файл #cmd #apache-nifi

Вопрос:

Я пробовал несколько конфигураций для запуска пакетного скрипта (cmd) в Windows по расписанию с использованием nifi. Я думаю, что эта конфигурация должна работать с использованием процессора ExecuteProcess. Но это не так.

Моя конфигурация «ExecuteProcess»:

  • Команда: cmd
  • Аргументы команды: C:UsersSA-2J04-SAFESDesktopsync.bat

Мой сценарий .bat:

 "C:Program Files (x86)WinSCPwinscp.com" /ini=nul /command ^
    "open sftp://exchange:Illescas.exchange@30.208.6.43/ -hostkey=""ecdsa-sha2-nistp384 384 T8cTR P5Ubm9NrbrcopI2mSz2QUOzYRvQrS1w rSoyM=""" ^
    "synchronize local -delete \SFS.CORPAppsICTZILOCintercambiosSFTPSPC /" ^
    "exit"
  

Если я запускаю файл «.bat» вне nifi, он работает нормально.

Может ли кто-нибудь мне помочь? Я погуглил безрезультатно.

Можно ли включить URL-адрес и пути к папкам в качестве переменных / параметров?

Заранее спасибо.

Комментарии:

1. Вы ознакомились со справочной информацией для команды cmd . Откройте окно командной строки, введите cmd /? , нажмите [ENTER] клавишу и прочитайте его. Пожалуйста, также обратите внимание, что .bat файл может запускаться без специальной отправки его в качестве аргумента cmd.exe , хотя, когда это происходит, это происходит в фоновом режиме.

2. У NiFi есть несколько отличных каналов поддержки, использующих списки адресов электронной почты и канал Slack. Я бы настоятельно рекомендовал вам использовать эти две формы поддержки. Это всегда помогало мне. Ссылки на эту поддержку можно найти здесь .

Ответ №1:

Вам не хватает /C переключателя для cmd .

Это не работает:

 cmd C:UsersSA-2J04-SAFESDesktopsync.bat
  

Вам нужно использовать

 cmd /C C:UsersSA-2J04-SAFESDesktopsync.bat
  

Поэтому вам нужно добавить /C перед вашими «аргументами команды».