2017-07-04 141 views
0

我正在使用Powerbuilder 12.5程序,它是一個xml到docx轉換器。它需要xml文件和圖片,並將它們堆疊到一個文件夾中,該文件夾需要作爲.docx文件進行壓縮。Powerbuilder 12.5 - 運行Windows命令

我可以用windows cmd命令zip -r 'path'.docx *來做到這一點,該命令生成一個word文件,該文件在MS Word中打開。 'path'是用戶在文件資源管理器中保存文件和文件名 - 是動態生成的

如何從Powerbuilder運行此命令。問題是,如果我運行run()函數,它會打開預設路徑中的cmd,它是c:\ Users \ ME \

我嘗試過CD 'new_path && zip -r new_path.docx *,但它不起作用。它拉動c:\ Users \ ME文件夾。

有什麼更好的點子?

回答

0

你可以嘗試之前設置當前目錄,只是聲明SetCurrentDirectoryA在外部功能:

FUNCTION LONG SetCurrentDirectoryA(REF STRING curdir) LIBRARY "Kernel32.dll" 
+0

現在我這樣做了,Run()函數將打開Windows cmd - 但它指向Oracle \ db_home文件夾。我確實嘗試將cmd.exe從windows \ system32複製到powerbuilder項目文件夾 - 沒有運氣。 任何想法? – user6371567

0

我不習慣在cmd窗口,但如果是在Linux終端可能,有可能在窗戶也是。

完成的代碼看起來IKE在此,只用解析字符串和run()的命令

ls_exec = "cmd /c cd /d "+ls_folder + " && zip -r "+ ls_folder+".docx * && cd /d "+ls_folder_1u + " && rmdir "+ls_file+" /s /q" 
run(ls_exec) 

它的工作原理就像一個魅力。謝謝大家的提示。