在VB中使用SHELL命令加压时.我调用的是7.zip这个软件,但是如果要压缩的文件名中间没有空格那么文件可以正常压缩,但是如果文件名中间有空格的话好像它就不能正常压缩了,好像是因为它只认空格前的名字,空格后的不算了.如下面
给一个叫:新建文件夹 的文件夹打包,那么没问题,
但是如果这个名字改为:新建 文件夹 那么就会出错.因为他老是会认为要打包的文件叫做:新建 了,空格后面的全不认了
我就算是把这个名字改成:"新建" &" " & "文件夹" 都还是不行啊.一般各位大吓遇到这种情况是乍处理的嘛,不要叫我把空格去了哈...麻烦了.知道的说一声.先谢一个多
比如说我要把d:\新建 文件夹
里面的所有内容打包压缩到d:\1\新建 文件夹
下面去
Shell zip或winrar 都一样是在DOS下运行的 Dos是8.3格式
必需将文件名称改为短路径文件名
这段代码你试看吧
Option Explicit
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Dim AppDisk$
Private Sub Form_Load()
'****本地路径(相对路径)
AppDisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\")
'****转换为短路径名称
MsgBox "本地路径: " & GetShortName(AppDisk)
End Sub
Public Function GetShortName(ByVal sLongFileName As String) As String