我可以用这段代码在除桌面以外的任何地方创建一个新文件夹(subpath是新文件夹的完整路径及名字),Shell("cmd.exe /c md " + subpath, vbHide),为什么在桌面上创建时就不可以呢?奇怪。Shell("cmd.exe /c md " + "c:\documents and setting\administrator\桌面\x2", vbHide),其中x2是新文件夹名称。

解决方案 »

  1.   

    好象在 C:\Documents and Settings 目录下 都不能创建
      

  2.   

    啊 还有个 可能
    c:\documents and setting 你这个目录是长命名的方式,可能cmd 不能接受。
    改成
    Shell("cmd.exe /c md " + "c:\docume~1\admini~1\桌面\x2", vbHide),
    试试????
      

  3.   

    Shell("cmd.exe /c md " + """c:\documents and setting\administrator\桌面\x2""", vbHide)cmd.exe /c md c:\documents and setting\administrator\桌面\x2 
    这样中间有空格是不行的
      

  4.   

    搞定,
    Dim ret As Long
    ret = Shell("cmd.exe /c md " + "C:\Docume~1\administrator\桌面\x2", vbHide)
    md不接收长文件名,采用的是DOS格式的。
      

  5.   

    Shell "cmd.exe /c md ""C:\Documents and Settings\Administrator\桌面\x22""", vbHide
      

  6.   

    就是啊 用 mkdir 语句就可以创建目录,为什么还要搞得那么复杂?
      

  7.   

    Shell "cmd.exe /c md ""C:\Documents and Settings\Administrator\桌面\x22""", vbHide
      

  8.   

    用这两句更好
    set fso = CreateObject("Scripting.FileSystemObject")
    fso.CreateFolder("path")