run 命令运行7zr.exe 没有正常创建压缩文件
我使用了以下vfp代码,但是运行后并没有如预期的创建压缩文件
程序代码:LOCAL lcItemId, lcItem, lcFolderSrc, lcFileBak, lcFolderTgr, lcConfirm, lc7zCmd, lcArchiveName, lcFiles
lcItemId = ALLTRIM(bak_set.item_id)
SELECT bak_set
LOCATE FOR item_id = lcItemId
*MESSAGEBOX(lcItemId)
IF FOUND()
lcItem = ALLTRIM(bak_set.item)
lcFolderSrc = ADDBS(ALLTRIM(bak_set.folder_src))
lcFileBak = ALLTRIM(bak_set.file_bak)
lcFolderTgr = ADDBS(ALLTRIM(bak_set.folder_tgr))
lcConfirm = MESSAGEBOX("是否确认备份 " + lcItem + "?", 36, "确认备份")
IF lcConfirm = 6
*通过命令行格式化时间
lcTime = '$(Get-Date -Format "yyyyMMdd-HHmmss")'
lcArchiveName = lcFolderTgr + lcItem + '-' + lcTime + '.7z'
* 获取备份文件列表
LOCAL ARRAY laFiles[1]
ALINES(laFiles, lcFileBak, ';')
lcFiles = ""
FOR EACH lcFile IN laFiles
lcFiles = lcFiles + ' "' + lcFolderSrc + ALLTRIM(lcFile) + '"'
ENDFOR
*命令
lc7zCmd = '.\7zr.exe a -t7z ' + lcArchiveName + lcFiles
= STRTOFILE(lc7zCmd,'temp.txt')
RUN &lc7zCmd
MESSAGEBOX("备份完成: " + lcItem, 64, "备份完成")
ENDIF
ELSE
MESSAGEBOX("未找到指定的记录。", 48, "错误")
ENDIF代码是参考了 论坛里@liuxingang28 大佬的备份程序的代码,这里改为运行7zr.exe
运行后temp.txt中
.\7zr.exe a -t7z D:\DOCUMENT\待办-紧急\系统设计\BAK\BACKUP\测试测试-$(Get-Date -Format "yyyyMMdd-HHmmss").7z "D:\DOCUMENT\待办-紧急\系统设计\DATA\TEST.DBF" "D:\DOCUMENT\待办-紧急\系统设计\DATA\USER.DBF"
该命令能正确创建压缩文件
想请教各位大佬

