我正在使用Powerbuilder 12.5程序,这是一个xml到docx转换器。它需要xml文件和图片并将它们堆叠在一个文件夹中,需要将其压缩为.docx文件。
我可以使用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 :(得分:0)
您可以尝试先设置当前目录,只需在外部函数中声明SetCurrentDirectoryA:
FUNCTION LONG SetCurrentDirectoryA(REF STRING curdir) LIBRARY "Kernel32.dll"
答案 1 :(得分:0)
我不习惯使用windows cmd,但是如果可以在linux终端中使用,也可以在windows中使用。
完成的代码看起来只使用解析后的字符串和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)
它就像一个魅力。谢谢大家的支持。