日期:2014-05-18  浏览次数:20428 次

急!!!弄半天了。。。100分
Set WshShell = server.CreateObject("Wscript.Shell")  
 IsSuccess = WshShell.Run ("C:\Progra~1\WinRar\winrar.exe a d:\t\tt.rar d:\t\tt\" ,1, true)

 
 bkfolder=server.mappath("1")
 Set WshShell = server.CreateObject("Wscript.Shell")  
 IsSuccess = WshShell.Run ("C:\Progra~1\WinRar\winrar.exe a d:\t\tt.rar "&bkfolder ,1, true)
 
 上面2个运行成功为什么把路径和名称都换成变量就不行了呢?

 bkfolder=server.mappath("1")
 childname="username"
 Set WshShell = server.CreateObject("Wscript.Shell") 
 IsSuccess = WshShell.Run ("C:\Progra~1\WinRar\winrar.exe a d:\t\"&childname&".rar" &bkfolder ,1, true) 


------解决方案--------------------
mark
------解决方案--------------------
把替换成变量的抛出来看看是不是和你原来一致的
------解决方案--------------------
"C:\Progra~1\WinRar\winrar.exe a d:\t\"+childname+".rar"
------解决方案--------------------
VBSCRIPT 是用 "&" 表示连接的;你应该把 "+" 都替换成 "&"
------解决方案--------------------
字符串中含有"\t",里面的"\"都应该替换成"\\"吧;要不然"\t"就被认为是转义符了;你在试试看
------解决方案--------------------
IsSuccess = WshShell.Run ("C:\Progra~1\WinRar\winrar.exe a d:\t\"&childname&".rar "&bkfolder ,1, true)

------解决方案--------------------
IsSuccess = WshShell.Run ("C:\Progra~1\WinRar\winrar.exe a d:\t\"&childname&".rar" &bkfolder ,1, true)
写得好像有问题,中间少了空格,就在bkfolder的前面。
IsSuccess = WshShell.Run ("C:\Progra~1\WinRar\winrar.exe a d:\t\"&childname&".rar " &bkfolder ,1, true)

最好设一个断点看看用了变量后组成的字符串是不是和没有用变量时的一致;
------解决方案--------------------
@"C:\Progra~1\WinRar\winrar.exe a d:\t\"+childname+".rar"
+个 @