[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
有没有人知道啊!!!

TOP

楼上两位给的代码不行啊,不起作用,另外,如果要备份的文件包含子目录或者含有空格怎么办呢?

TOP

楼上的兄弟提供的代码是判断b与123中是否有相同的文件存在

  针对性的完整代码如下
  从123目录中拷贝文件到b目录(123目录与b目录为同级目录),如果遇到相同的文件则先将b中的文件备份至backup目录中,然后把123中的所有文件正常拷入b目录中。
  1. @echo off
  2. for /f "delims=" %%a in ('dir /s /b /a-d "123\*.*"') do (
  3.   if exist "b\%%~nxa" (
  4.     copy /y "b\%%~nxa" bakup\ >nul
  5.    )
  6. )
  7. copy /y  123\*.* b\ >nul
  8. exit
复制代码

TOP

如果显示符合要求,把echo.去掉即可实现...
  1. @echo off
  2. for /f "delims=" %%a in ('dir /s /b /a-d "123\*.*"') do (
  3.   if exist "b\%%~nxa" (
  4.     echo.copy /y "%%a" backup\
  5.     echo.copy /y "%%a" b\
  6.     echo.
  7.   )
  8. )
  9. pause
复制代码

TOP

是这样一个情况,我需要覆盖的文件特别的多,能不能用类似什么*.*之类的字符表示,
另外,我的目的是要从123目录中拷贝文件到b目录(注意:123目录与b目录为同级目录),如果遇到相同的文件则先将文件备份至backup目录中(会有很多相同的文件要被覆盖),然后正常拷贝。

TOP

  1. ::通过if exist 判断是否存在a.txt,存在就复制到backup文件夹
  2. if exist a.txt copy a.txt backup\
  3. ::下面的命令反正是要执行的
  4. copy /y a.txt b\
复制代码

TOP

返回列表