不是把整个文件夹复制过去哦,是把里面所有文件复制到文件夹!用这个语句怎么不行呀Shell "xcopy C:\aa D:\aa\ /e /c /y", 0
VB6.0使ç¨CopyFile æ¹æ³æ¥å®ç°æä¸ä¸ªæå¤ä¸ªæ件ä»ä¸ä¸ªå°æ¹å¤å¶å°å¦ä¸ä¸ªå°æ¹ã
CopyFile æ¹æ³ã
æè¿°ï¼æä¸ä¸ªæå¤ä¸ªæ件ä»ä¸ä¸ªå°æ¹å¤å¶å°å¦ä¸ä¸ªå°æ¹ã
è¯æ³ï¼
说æ
éé 符åªè½ç¨å¨ source åæ°çæåä¸ä¸ªè·¯å¾é¨ä»¶ãä¾å¦ä½ å¯ä»¥å¨ä¸é¢è¯·åµä½¿ç¨éé 符ï¼
FileSystemObject.CopyFile "c:\mydocuments\letters\*.doc", "c:\tempfolder\"
ä½ä¸é¢æ åµä¸è½ä½¿ç¨ï¼
FileSystemObject.CopyFile "c:\mydocuments\*\R1???97.xls", "c:\tempfolder"
å¦æ source å
å«éé
符æ destination以路å¾åé符ï¼\ï¼ä¸ºç»å°¾ï¼å认为 destinationæ¯ä¸ä¸ªå·²åå¨æ件夹ï¼å¨å
¶ä¸å¤å¶ç¸å¹é
çæ件ãå¦å认为 destination
æ¯ä¸ä¸ªè¦å建æ件çååãä¸è®ºæ¯é£ç§æ
åµï¼å½å¤å¶ä¸ä¸ªæ件æ¶ï¼å¯è½åçä¸ç§äºä»¶ã
1. å¦æ destination ä¸åå¨ï¼source å¾å°å¤å¶ãè¿æ¯é常çæ åµã
2.å¦æ destination æ¯ä¸ä¸ªå·²åå¨çæ件ï¼åå½ overwrite å¼ä¸º False æ¶åçä¸ä¸ªé误ï¼å¦åï¼sourceçå¤å¶æ件å°è¯å¾è¦çå·²åå¨æ件ã
3.å¦æ destination æ¯ä¸ä¸ªç®å½ï¼åçä¸ä¸ªé误
å¦æ使ç¨éé
符ç source ä¸è½åä»»ä½æ件å¹é
ï¼åæ ·äº§çä¸ä¸ªé误ãCopyFile
æ¹æ³åæ¢å¨å®éå°ç第ä¸ä¸ªé误ä¸ãä¸è¦è¯å¾åå·ææ¤æ¶é误åçåæåçä»»ä½æ¹åã
VB里Shell相当于调用“运行框”,而不是命令提示符cmd。xcopy是cmd的命令。
要这样
Shell "cmd /c xcopy C:\aa D:\aa\ /e /c /y", 0其中参数/c的意思是执行命令行的命令然后终止。更多参数选项可以通过
cmd /?来查看。
还有问题请追问
(我的回答是建立在你xcopy的使用方法没错的基础上)
追问路径写出来就可以复制过去,如C:\aa,为什么我获取的路径用字符串表示写入上述形势中不行呢,如:y_path=C:\aa
md_path=D:\aa\
Shell "cmd /c xcopy y_path md_path/e /c /y", 0
这样为什么不行呢
你是刚学编程吗?"cmd /c xcopy y_path md_path/e /c /y"是一个字面值常量字符串,y_path和md_path不会作为变量代入的。此外前两句中字符串要加引号。应该这样
前两句中有三个引号的原因是:cmd命令中,带有空格的路径必须在引号中。而vb里为了在字符串里表示引号需要写两个引号。比如
""""""""
这实际上是一个由三个双引号组成的字符串。