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

[文件操作] 单纯的批处理本身,能否实现单向备份同步?

单纯的批处理本身,能否实现单向备份同步?

A→B单向备份同步
1、B目录下,如果有多余的文件、文件夹。也能自动删除。
2、B目录下有完全相同的文件,就自动忽略/跳过,不再重复删除/复制。
3、不能调用第三方exe软件。比如robocopy.exe等等

本帖最后由 ygqiang 于 2017-1-4 21:50 编辑

http://www.bathome.net/redirect. ... 49484&ptid=8898

用了这个帖子10楼的代码。

call 同步文件夹syncFolder.bat c:\00 d:\test

测试了。不能实现:
1、d:\test目录下,如果有多余的文件、文件夹。也能自动删除。

TOP

回复 3# hlzj88

回复 5# GNU


原来一直用下面的命令,可以实现1楼的几个要求。
robocopy.exe "源路径" "目标路径"  /mir /w:2 /r:2

如果用单纯的批处理,实现起来是否容易?

TOP

回复 4# GNU


    如何判断“完全相同的文件”?

判断标准只要实现:B文件夹内容,与A文件夹完全一样就行。

TOP

回复 8# GNU

关于如何判断“完全相同的文件”。

    robocopy.exe "源路径" "目标路径"  /mir /w:2 /r:2
运行这个命令,可以实现1楼的所有要求。具体不知道是如何实现的。

TOP

回复 11# 523066680


    4、能用 copy、xcopy
5、能用 if、for

TOP

回复 10# CrLf


    你好,简单测试了下。

如果目标目录下,多了一个只读属性的文件,你的bat代码删除不了。谢谢

TOP

本帖最后由 ygqiang 于 2017-1-9 10:32 编辑

回复 14# CrLf
  1. @echo off
  2. echo 源盘—》目标盘
  3. set biao1=D:\0驱动-软件\0-udisk\sd4g
  4. cls
  5. echo 保存文件执行路径
  6. pushd "%~dp0"
  7. cls
  8. for %%a in (E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  9. fsutil fsinfo volumeinfo %%a:\ | findstr "错误" >nul && echo %%a不可读取 || echo %%a可读取 && (
  10. if exist "%%a:\000-000\00-其他\start" (
  11. if exist "%biao1%\000-000" (
  12. echo 源盘:%%a:
  13. echo 目标盘:%biao1%
  14. ping 0 -n 6 >nul
  15. cls
  16. 10楼的代码放在这里。需要修改哪些地方?
  17. )
  18. )
  19. )
  20. )
  21. echo 恢复文件执行路径
  22. popd
  23. cls
复制代码
你的代码,应该如何修改下呢??

TOP

回复 16# capslock


    网盘\NAS都不考虑。
就是单纯的u盘、移动硬盘的数据,定期手动备份到本地硬盘上。
1

评分人数

TOP

回复 20# yu2n

用xp或者win7系统,自带的命令,备份资料。应该问题不大吧。

TOP

回复 23# yu2n


    一般都是手动备份资料。
刚好有些文件正在使用中,这种情况很少遇到。
因为要经常在不同的全新xp系统下备份,robocopy,还是不太方便。

TOP

回复 10# CrLf


    15楼,帮忙修改下代码吧。谢谢

TOP

回复 10# CrLf


你的代码,win7系统测试正常。
xp系统测试出现问题。

提示:(16,1).。。。错误:输入超出了文件尾
目标文件系统下不支持安全信息。
文件创建错误-不支持请求

TOP

返回列表