Board logo

标题: [文件操作] [已解决]如何在运行“批处理复制文件及文件夹”不显示批处理黑框? [打印本页]

作者: ny350101    时间: 2012-10-4 10:55     标题: [已解决]如何在运行“批处理复制文件及文件夹”不显示批处理黑框?

10月1日在代码求助区发出了“如何批处理复制文件及文件夹”一贴,得到了“上校”的积极回应,并写出了正确的代码。再次表示感谢。代码附后:
  1. @echo off
  2. if "%~1"=="" echo 请拖拽&pause&goto:eof
  3. md "D:\备份文件" 2>nul
  4. if exist "%~1\" (
  5.   xcopy "%~1" "D:\备份文件\%~nx1\" /s /y
  6.   rd /s /q "%~1"
  7. ) else move "%~1" "D:\备份文件\"
复制代码
现在的问题是,如何在运行这段代码时,不显示批处理的黑框。我也试着写了这段代码
  1. @echo off
  2. if "%1"=="h" goto begin
  3. start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
  4. :begin
  5. if "%~1"=="" echo 请拖拽&pause&goto:eof
  6. md "D:\备份文件" 2>nul
  7. if exist "%~1\" (
  8.   xcopy "%~1" "D:\备份文件\%~nx1\" /s /y
  9.   rd /s /q "%~1"
  10. ) else move "%~1" "D:\备份文件\"
复制代码
可是不会运行了,求助。如有可能,请指出该段代码的错误。谢谢。
作者: apang    时间: 2012-10-4 19:30

保存为TEST.VBS,将需要复制的文件或文件夹拖拽到TEST.VBS上。这样应该没黑框了^_^
  1. Set FSO = CreateObject("Scripting.FileSystemObject")
  2. Arg = WScript.Arguments(0)
  3. A = Split(Arg,"\")
  4. If Not FSO.FolderExists("D:\文件备份") Then
  5.    FSO.CreateFolder("D:\文件备份")
  6. End If
  7. If FSO.FileExists(Arg) Then
  8.    FSO.MoveFile Arg,"D:\文件备份\"
  9. Else
  10.    FSO.CopyFolder Arg, "D:\文件备份\" & A(UBound(A)),True
  11.    FSO.DeleteFolder(Arg)
  12. End If
复制代码

作者: ny350101    时间: 2012-10-4 23:06     标题: RE: 如何在运行“批处理复制文件及文件夹”不显示批处理黑框?

回复 2# apang


虽说不是批处理,但是达到了我的目的,谢谢。
作者: forfiles    时间: 2012-10-6 18:50

http://www.bathome.net/thread-3271-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2