Board logo

标题: [文件操作] 批处理如何实现将文件复制到指定路径/目录 [打印本页]

作者: baggio1006    时间: 2008-8-10 00:16     标题: 批处理如何实现将文件复制到指定路径/目录

本帖最后由 pcl_test 于 2017-6-5 13:27 编辑

代码编译完成后,想把exe文件自动copy到PC的另一个目录(覆盖原来的文件)或另一台PC的共享目录,如何用批处理实现?
几个假设:
1.本机的IP:192.168.0.104
2.编译后目标文件是D:\NEXPERIA\...\exApp目录下的test.exe
3.目标PC的IP:192.168.0.102
4.目标PC开放的共享目录为D:\share

想要的结果是:代码编译完成后,批处理自动把test.exe文件copy到目标PC的指定目录,覆盖之前的版本,便于开发测试

请p处理高手指点,多谢!!

[ 本帖最后由 baggio1006 于 2008-8-10 00:45 编辑 ]
作者: Batcher    时间: 2008-8-10 00:28

  1. @echo off
  2. copy /y "%~f0" "C:\test\a"
复制代码

作者: baggio1006    时间: 2008-8-10 00:35

因为在开发中随时编译,编译后的exe文件,要求能自动即时copy到指定的目录,那么批处理程序如何知道这个exe是重新生成的呢?
能否稍微详细点介绍呢?谢谢
作者: Batcher    时间: 2008-8-10 00:42

你在用什么做开发?用什么编译?
要在你的程序中调用批处理?还是有一个单独的批处理常驻内存?
作者: baggio1006    时间: 2008-8-10 00:48

单独的批处理常驻内存吧,虽然这样比较耗费资源
只要能实现编译后的目标文件,自动copy到指定目录就行
作者: baggio1006    时间: 2008-8-10 00:50

因为在自己PC开发,到另一台PC环境去调试
这样免得手动去copy了
作者: Batcher    时间: 2008-8-10 00:53

  1. @echo off
  2. :begin
  3. copy /y "C:\源文件夹\test.exe" "C:\目的文件夹"
  4. ping -n 2 127.1>nul
  5. goto :begin
复制代码

作者: baggio1006    时间: 2008-8-10 01:00

这样可以做到,编译完成后,就能立马copy到指定目录吗?
ping -n 2 127.1>nul
请问这个语句什么意思?
作者: baggio1006    时间: 2008-8-10 01:04

goto岂不是一直在copy,无论新的exe文件是否编译完成
作者: Batcher    时间: 2008-8-10 01:11     标题: 回复 9楼 的帖子

  1. @echo off
  2. copy /y "C:\test\a.txt" "C:\test\folder"
  3. :begin
  4. for %%a in ("C:\test\a.txt") do set cur=%%~ta
  5. for %%a in ("C:\test\folder\a.txt") do set last=%%~ta
  6. if %cur% neq %last% copy /y "C:\test\a.txt" "C:\test\folder"
  7. ping -n 2 127.1>nul
  8. goto :begin
复制代码

作者: Batcher    时间: 2008-8-10 01:13     标题: 回复 8楼 的帖子

ping -n 2 127.1>nul
是批处理中的一种延时手段
你可以把-n后面的2修改成其他数字来改变延时的长短
作者: shqf    时间: 2008-8-10 10:05

  1. @echo off
  2. net  use \\192.168.0.102\ipc$
  3. :begin
  4. xcopy /d /y test.exe \\192.168.0.102\share\test.exe
  5. ping -n 2 127.1>nul
  6. goto begin
复制代码
xcopy加参数D后,只有当源文件比目标文件新的时候才进行拷贝。

[ 本帖最后由 shqf 于 2008-8-10 10:07 编辑 ]




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