标题: [文件操作] [已解决]批处理根据IP条件从指定机器目录copy指定文件 [打印本页]
作者: qw56741 时间: 2009-7-27 02:24 标题: [已解决]批处理根据IP条件从指定机器目录copy指定文件
局域内如何自动判断本机ip并且根据ip地址 从指定机器目录copy指定文件?
我现在用的是无盘,每个机器每次开机都要从资料服务器调用一些本机数据, 并且把这些数据文件放在本机的F盘 , 每个机器调用的文件都不一样, 因为我的网络是无盘系统,开机自动还原, 所以ip是固定的,机器名字也是固定的。所以要根据这些条件来判断读去响应的文件 并且把这些文件copy到本机的F盘下 log1的文件夹里, 资料服务器的ip 还有路径是固定的 是在 192.168.0.249\资料\A组到I组 每组下面对应16个文件夹(从01到16 ) 每个文件夹下面建立log1文件。 我需要的就是每次开机 把相应的log1 文件夹里的文件复制到本机的F:\log1\ ,例如 192.168.0.1 这个机器需要把192.168.0.249\资料\机器\A组\01\log1\ 下的所有文件复制到本机的F:\log1 中。
我现在做的是批处理是手动的- @echo off
- xcopy \192.168.0.249\资料\机器\A组\01 F:\ /e /i /y
- xcopy F:\x D:\ /e /i /y
- exit
复制代码
每个机器都对应一个单独的批处理,开机是手动处理, 我主要意思是的能根据 ip来判断执行相应的批处理文件。 就是我做的上面的这个文件。
我的实际网络环境是144个机器1个居域网, 工作站使用的是16个1组的切换器 就是说16个机器使用1个显示器 a组代表1个显示器 所以叫A组 因为是16个机器 所以就有01到16
作者: Lumiere 时间: 2009-7-27 10:16
提问首先做到自己陈述清楚,把实际环境写出来,这样人家才会回复你,问的人都这么懒,怎么要求回答的人白白卖力还要忍受分析楼主意思的痛苦。
作者: Batcher 时间: 2009-7-27 23:56
为什么192.168.0.1要对应A组而不是B组,为什么是文件夹01而不是文件夹02?
能否把所有的问题背景更新到顶楼?
作者: slovent 时间: 2009-7-28 10:08
大致思路,请楼主自行修改。- FOR /F "Tokens=15" %%i IN ('ipconfig ^| find /i "ip address"') DO SET IP=%%i
- ECHO %IP%
- Pause
- REM 笨方法截取IP地址最后一段用以判断
- SET IP=%IP:*.=%
- SET IP=%IP:*.=%
- SET IP=%IP:*.=%
- ECHO %IP%
- Pause
-
- IF "%IP%" GEQ "1" IF "%IP%" LEQ "16" Goto COPY_01
- IF "%IP%" GEQ "84" IF "%IP%" LEQ "101" Goto COPY_02
- IF "%IP%" GEQ "102" IF "%IP%" LEQ "118" Goto COPY_03
- ECHO 地址不在许可复制文件的范围之内,请按任意键退出。
- Pause>Nul
- EXIT
- :COPY_01
- xcopy \192.168.0.249\资料\机器\A组\01 F:\ /e /i /y
- xcopy F:\x D:\ /e /i /y
- exit
- :COPY_02
- xcopy \192.168.0.249\资料\机器\A组\02 F:\ /e /i /y
- xcopy F:\x D:\ /e /i /y
- exit
- :COPY_03
- xcopy \192.168.0.249\资料\机器\A组\03 F:\ /e /i /y
- xcopy F:\x D:\ /e /i /y
- exit
复制代码
作者: qw56741 时间: 2009-7-28 12:58
非常感谢!!! 我辛苦了
作者: slovent 时间: 2009-7-28 13:22
不用谢,我也是新手,代码可不可行我自己都不知道,呵呵,本着共同学习的精神帮您弄的。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |