Board logo

标题: [文件操作] 批处理如何根据IP地址复制指定文件到指定目录? [打印本页]

作者: mmm8422616    时间: 2015-1-10 22:10     标题: 批处理如何根据IP地址复制指定文件到指定目录?

网吧无盘环境,客户机范围在192.168.0.1-192.168.0.200,在客户机的D盘有一个ABC的文件夹,里面有200个doc文件,文件名分别为001.doc至200.doc,要求根据IP地址复制文件到桌面的一个命名为“说明”的文件夹内,192.168.0.1就复制001.doc到桌面的这个文件夹内,由此类推,192.168.0.200就复制200.doc到桌面的这个文件夹内,求批处理命令代码。

还想扩充下,客户机的计算机名范围在001-200,在客户机的D盘仍然有一个ABC的文件夹,文件名分别为001.doc至200.doc,能不能要求根据计算机名复制文件到桌面的一个命名为“说明”的文件夹内,客户机计算机名为001的就复制001.doc到桌面的这个文件夹内,由此类推,客户机计算机名为200的就复制200.doc到桌面的这个文件夹内,求批处理命令代码。

麻烦求这两种方式的批处理命令,谢谢各位大大!
作者: yu2n    时间: 2015-1-10 22:36

  1. @echo off
  2. for /f tokens^=1^,2^ delims^=^"^" %%a in ('wmic nicconfig get IPAddress /value ^| findstr /i "IPAddress=[^]"') do (set "ip=%%b")
  3. for /f "tokens=4 delims=." %%a in ('echo,%ip%') do (set "sn=000%%a")
  4. set "fn=%sn:~-3%.doc"
  5. md "%USERPROFILE%\桌面\说明"
  6. copy /v /y /z  "D:\ABC\%fn%"  "%USERPROFILE%\桌面\说明\%fn%"
  7. pause
复制代码

作者: mmm8422616    时间: 2015-1-10 23:00

非常感谢,已经测试,成功。

这个是根据ip地址的代码,不知道是否可以根据计算机名来判断?
作者: yu2n    时间: 2015-1-10 23:02

  1. @echo off
  2. set "fn=%COMPUTERNAME:~-3%.doc"
  3. md "%USERPROFILE%\桌面\说明"
  4. copy /v /y /z  "D:\ABC\%fn%"  "%USERPROFILE%\桌面\说明\%fn%"
  5. pause
复制代码

作者: mmm8422616    时间: 2015-1-10 23:18

唉,由于自己对批处理都不懂,所以根据机器名的代码,测试的时候修改计算机名为200,提示不能是纯数字,也就没测试成功了。

如果我的计算机名字是RQ001、RQ002.....、RQ200这样的,D盘ABC的文件夹内的文件名是RQ001.doc
、RQ002.doc.....RQ200.doc这样的,代码应该是如何啊?谢谢了 !
作者: yu2n    时间: 2015-1-10 23:46

回复 5# mmm8422616
  1. @echo off
  2. set "fn=%COMPUTERNAME%.doc"
  3. md "%USERPROFILE%\桌面\说明"
  4. copy /v /y /z  "D:\ABC\%fn%"  "%USERPROFILE%\桌面\说明\%fn%"
  5. pause
复制代码





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