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


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

TOP

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

TOP

本帖最后由 CrLf 于 2017-1-7 15:42 编辑
  1. 1>1/* :
  2. @echo off
  3. set "from=Z:\源文件夹"
  4. set "to=Z:\备份文件夹"
  5. for /f "delims=" %%a in ('dir /s /a /b "%to%\*" ^| sort /+65535 ^| cscript -nologo -e:jscript "%~f0" "%to%"') do (
  6. for %%b in ("%to%\%%a") do (
  7. if %%~aza neq %%~azb (
  8. rd /s /q "%to%%%a" || del /f "%to%%%a"
  9. )
  10. )
  11. )
  12. xcopy /d /e /y /r /k /x /h /c "%from%" "%to%"
  13. pause & exit /b
  14. */
  15. var length=WSH.Arguments(0).length
  16. var output=
  17. WSH.StdIn.ReadAll().replace(
  18. new RegExp( '^.{'+length+'}', 'gm' ),
  19. ''
  20. )
  21. WSH.Echo(output)
复制代码

TOP

回复 8# GNU

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

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

TOP

回复 7# ygqiang


    根据什么来判断“完全一样”?文件名、大小、修改时间等不靠谱,需要计算文件的MD5来判断吗?

TOP

回复 4# GNU


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

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

TOP

回复 3# hlzj88

回复 5# GNU


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

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

TOP

回复 3# hlzj88


    应该不会这么简单。同名的文件,内容可能完全不同。

TOP

你希望如何判断“完全相同的文件”?
文件名、大小、修改时间等不靠谱,需要计算文件的MD5来判断吗?

TOP

初次备份,删b为空
或者for b下所有文件,a中不存在同名文件就删除b下的。
目的,学习批处理

TOP

本帖最后由 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

返回列表