Cmd Powerbuilder 12.5-运行windows命令

Cmd Powerbuilder 12.5-运行windows命令,cmd,powerbuilder,Cmd,Powerbuilder,我正在开发Powerbuilder 12.5程序,这是一个xml到docx的转换器。它获取xml文件和图片并将它们堆叠在一个文件夹中,该文件夹需要压缩为.docx文件 我可以使用windows cmd命令zip-r'path'.docx*,生成一个word文件,用MS word打开“路径”是用户在文件资源管理器中保存文件的位置,文件名是动态生成的 如何从Powerbuilder运行此命令。问题是,如果我运行run()函数,它会在预设路径中打开cmd,即c:\Users\ME\ 我确实尝试了CD'

我正在开发Powerbuilder 12.5程序,这是一个xml到docx的转换器。它获取xml文件和图片并将它们堆叠在一个文件夹中,该文件夹需要压缩为.docx文件

我可以使用windows cmd命令
zip-r'path'.docx*
,生成一个word文件,用MS word打开<代码>“路径”是用户在文件资源管理器中保存文件的位置,文件名是动态生成的

如何从Powerbuilder运行此命令。问题是,如果我运行
run()
函数,它会在预设路径中打开cmd,即c:\Users\ME\

我确实尝试了
CD'new\u path&&zip-r new\u path.docx*
,但是它不起作用。它将压缩c:\Users\ME文件夹


有更好的主意吗?

您可以尝试在之前设置当前目录,只需在外部函数中声明SetCurrentDirectoryA:

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

我不习惯windows cmd,但是如果它在linux终端中是可能的,那么在windows中也是可能的

完成的代码与此类似,只使用解析的字符串和run()命令

它就像一个符咒。谢谢大家的建议。

现在我这样做了,Run()函数将打开windows cmd,但它指向Oracle\db\u主文件夹。我确实试图将cmd.exe从windows\system32复制到powerbuilder项目文件夹中,但没有成功。有什么想法吗?
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)