如何 运行 .exe/.bat 文件 INPUT/OUTPUT 进行中 4GL

How to run .exe/.bat file with INPUT/OUTPUT in Progress 4GL

我尝试通过 wkhtmltopdf.exe 在 Progress4GL 中创建一个 PDF 文件。我写了一个下载 html 文件作为输入的程序。

procedure downloadhtml:

    define input parameter i-benutzer as character  no-undo.

    
    define variable zw-path         as character no-undo.
    define variable h-uhrzeit       as character no-undo.
    define variable h-text          as character no-undo.    
    

    h-uhrzeit = string(time, "HH:MM:SS").
    h-uhrzeit = replace(h-uhrzeit, ":", "."). 
   
    h-text = '<div style="color:red;">I am a html file</div>'.
   
    
    find database.table
         where database.table.man     = "xxx"
         and   database.table.krg     = "X-2540.w"
         and   database.table.user    = "_PPS"
         and   database.table.opzt    = "_PPN"
         no-lock no-error.
    if available database.table then do:
       zw-path = table.field.
    end.

 
    OUTPUT TO VALUE(zw-path + "Name_" + string(today,"99.99.9999") + "_" + h-uhrzeit + "_" + i-benutzer + ".html").
  
    
        put unformatted h-text skip.
   
    
    output close.

end procedure.

它将 html 文件下载到此目录:

K:\K11\WEB\PDF\Name_01.03.2021_09.17.25_xx.html

wkthmltopdf.exe 有 1 个输入目录和 1 个输出目录。 CMD 控制台中的结构如下所示 --> :: [.exe] [INPUT DIRECTORY] [OUTPUT DIRECTORY]

如果我 运行 使用这些命令手动 cmd 控制台,它会完美地工作

cd C:\Program Files (x86)\wkhtmltopdf\
wkhtmltopdf.exe K:\K11\WEB\PDF\Name_01.03.2021_09.17.25_xx.html K:\K11\WEB\PDF\Name_01.03.2021_09.17.25_xx.pdf

我的问题是:如何 运行 .exe 文件动态(名称取决于日期和时间)INPUT OUTPUT 变量正在进行中?

我在 progress4GL

中找到 运行s .exe 文件的命令
os-command(wkhtmltopdf.exe) 

但是如何在 progress4gl 的 .exe 文件中输入和输出 variables/directories?

很久很久没做任何 Progress 了,所以我不记得 os-command 是如何工作的,但我会尝试

os-command("C:\Program Files (x86)\wkhtmltopdf\wkhtmltopdf.exe" K:\K11\WEB\PDF\Name_01.03.2021_09.17.25_xx.html K:\K11\WEB\PDF\Name_01.03.2021_09.17.25_xx.pdf)

理论:引用完整的可执行文件名称应该 被解释为单个标记。 可能 x86) 中的 ) 需要使用 ^ 进行转义,即。 x86^)

类似

    OS-COMMAND VALUE (SUBSTITUTE ("cd C:\Program Files (x86)\wkhtmltopdf\wkhtmltopdf.exe K:\K11\WEB\PDF\Name_&1.&2.&3.html",
                                  DAY (TODAY),
                                  MONTH (TODAY),
                                  YEAR (TODAY))) .