Board logo

标题: [其他] [已解决]能调用计算机名,不能自动以计算机名创建文件夹? [打印本页]

作者: dong1977    时间: 2009-6-4 11:36     标题: [已解决]能调用计算机名,不能自动以计算机名创建文件夹?

大家好!
因为我们要进行live mail备份,也就是把各用户D盘的live mail文件夹复制到172.168.160.34这台电脑的共享文件夹内进行备份。请教下,我能不能调用计算机名并自动创建以该计算机名命名的文件夹来代替原来的用户文件夹,并在里面自动建立日期文件夹(星期一,星期二。。。等),再进行备份到该日期文件夹里。比如:set dir2=\\172.168.160.34\共享软件\wqr\中的 wqr 能不能用自动创建的计算机名文件夹进行替代?
这样做是因为我们局域网有100多个用户,如果一个一个用户在bat里面手动建立用户夹,有点麻烦!
麻烦大家帮我看看应该添加怎么样的代码才能实现,谢谢!
  1. @echo off
  2. taskkill /im wlmail.exe /f
  3. color 8f
  4. mode con cols=60 lines=12
  5. title Live 邮件备份
  6. :--------------------------------
  7. set dir1=d:\live mail
  8. set dir2=\\172.168.160.34\共享软件\wqr\
  9. :set dir1=C:\0116
  10. :--------------------------------
  11. set week=%date:~11,6%
  12. rd /s /q "%dir2%%week%"
  13. set dir2=%dir2%%week%\
  14. title Live 邮件备份@%date%
  15. goto %week%
  16. :--------------------------------
  17. :星期一
  18. :星期二
  19. :星期三
  20. :星期四
  21. :星期五
  22. echo 你好,今天是%week%,准备备份邮件……
  23. title Live 邮件备份@%date%^|进行中..@%time%
  24. goto backup
  25. :--------------------------------
  26. :backup
  27. echo.
  28. echo 复制文件(%COMPUTERNAME%,%USERNAME%):
  29. echo 从: %dir1%
  30. echo 到: %dir2%
  31. echo xcopy "%dir1%" "%dir2%"
  32. xcopy "%dir1%" "%dir2%" /S /E /Y
  33. echo.
  34. echo 邮件备份完成@%time%.
  35. title Live 邮件备份@%date%^|完成@%time%
  36. :--------------------------------
复制代码

[ 本帖最后由 dong1977 于 2009-6-10 15:41 编辑 ]
作者: Batcher    时间: 2009-6-4 19:47

本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块,其余话题禁止在本版讨论;
2、求助时,务必在顶楼一次性把问题交代清楚;若文字难以表述,请配图说明,或是上传附件;但是,一切操作应从节约论坛资源的角度出发,能文字说明清楚的就无需再发图片,小图能说明问题的尽量不截全图,在不影响效果的前提下尽量压缩图片及附件;
3、所发代码若不止一行,请务必用code标记把代码部分首尾括起来,以便他人复制;


Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
作者: a117966388    时间: 2009-6-5 17:23     标题: 我只会用计算机名创建文件名不会用日期创建

for /f %%i in (d:\1.txt) do md d:\\客户机备份%%i\wqr\  & xcopy /e/y %%i\共享软件\wqr\ *.*   d:\\客户机备份%%i\wqr\   
这个命令是在服务器上往回复制客户机的
1.txt中的内容是:
\\A01
\\A02
...
.
.\\A100
作者: quake_wu    时间: 2009-6-5 23:27

小弟初学,尝试写另一个在客户端运行的,请教大牛,这里是否要启用变量延迟,我没有启用测试是反是正常的
  1. @echo off
  2. REM 第一个循环获取客户端计算机名
  3. REM 第二个循环获取当前日期(只截取后面星期几部分),并进行copy
  4. for /f "delims== tokens=2" %%i  in ('set COMPUTER') do (
  5.          for /f "tokens=2" %%j in ('date /t') do xcopy "d:\live mail" \\172.168.160.34\共享软件\wqr\%%i\%%j
  6. )
复制代码

作者: dong1977    时间: 2009-6-8 16:25

谢谢!

问题解决了
作者: keen    时间: 2009-6-8 19:10     标题: 回复 5楼 的帖子

问题解决了,请在标题上加注【已解决】




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