Board logo

标题: [问题求助] VBS局域网文件拷贝问题 [打印本页]

作者: 328612167    时间: 2015-7-21 17:27     标题: VBS局域网文件拷贝问题

局域网文件拷贝问题

规律如下:当前目录下有很多文件夹、很多txt文件,txt文件内容包含有 文件夹名的字符
要求:1.将当前目录下所有的txt文件分别移到对应的文件夹中,保证文件夹里的文件内容中包含的文件夹名与本文件夹名一致
         2.将其剪切至\\192.168.1.200\SHARE

以下代码的问题是:第2步太慢
不知有没有高效一点的vbs代码
  1. @echo off
  2. :更新时间 8:30 2015/7/11
  3. for /d %%a in (*) do (for %%i in (*.TXT) do findstr %%a %%i &&move %%i %%a)
  4. net use \\192.168.1.200\SHARE
  5. ping 127.0.0.1 -n 2 >NUL
  6. for /d %%a in (*) do (xcopy /e /y /h /k /i %%a \\192.168.1.200\SHARE\%%a\ &&rd /s /q %%a)
  7. net use \\192.168.1.200\SHARE /delete
  8. RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
复制代码

作者: Tianorder    时间: 2015-7-21 18:42

回复 1# 328612167


    有多慢?1分钟?
作者: 328612167    时间: 2015-7-22 16:35

回复 2# Tianorder


我讲究效率
作者: yu2n    时间: 2015-7-22 17:56

回复 3# 328612167

手动复制整个文件夹到共享需多久?是1小时吗?
恭喜你了,你的BAT帮你提高了60倍的效率。
作者: WHY    时间: 2015-7-22 22:04

  1. @echo off
  2. net use \\192.168.1.200\SHARE
  3. ping 127.0.0.1 -n 2 >NUL
  4. for /d %%a in (*) do (
  5.     for /f %%i in ('findstr /i /m %%a *.TXT') do move %%i %%a
  6.     xcopy /e /y /h /k /i %%a \\192.168.1.200\SHARE\%%a\ &&rd /s /q %%a
  7. )
  8. net use \\192.168.1.200\SHARE /delete
  9. RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
复制代码

作者: 328612167    时间: 2015-7-23 08:49

回复 5# WHY


   和我的代码所用的时间是一样的
批处理要等上一句执行完成后才执行下一句
作者: WHY    时间: 2015-7-23 19:46

回复  WHY


   和我的代码所用的时间是一样的
批处理要等上一句执行完成后才执行下一句
328612167 发表于 2015-7-23 08:49



    你想多了,回复你只是为自己攒积分,我没兴趣解决你的问题
作者: 9zhmke    时间: 2015-7-26 22:50

不要使用单文件操作,直接使用WINRAR压缩到网络目的地吧,应该速度会快不少。
作者: 328612167    时间: 2015-7-27 13:48

回复 8# 9zhmke


    那样是在目的地生成压缩包吗,
    如果是那样的话,就不行
作者: 9zhmke    时间: 2015-7-28 13:55

回复 9# 328612167


    即使不行,你也可以用这种方法来加快速度,单个文件处理的速度是很慢的。




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