【问题标题】:Batch file: compare files?批处理文件:比较文件?
【发布时间】:2015-04-09 18:42:43
【问题描述】:

我有一个批处理文件用于检查地图中的文件。

我的情况:

例如,我在目录 A 上有地图 A。 在目录 B 上,我也有地图 A。但在目录 B 上,有人在处理这些文件,因此文件可能会被删除或丢失。 现在我想比较这两张地图是否有丢失的文件,可能是删除或丢失。

所以比较一定是这样的:

目录 A 与地图 A :compare-> 目录 B 与地图 A

结果必须是:没有更改或丢失文件!

你能帮帮我吗?

谢谢!!

【问题讨论】:

  • 这里的map 是什么?您使用的是什么操作系统?
  • 地图或文件夹。操作系统是 Windows 7
  • 比较位置 A 上的文件夹 1 -> 位置 B 上的文件夹 1。因此,具有相同文件但位于另一个位置的同一个文件夹。批量搜索不同的文件名。

标签: file batch-file compare


【解决方案1】:

假设您已正确共享网络上的远程目录,并已配置相关的 NetBIOS、TCP/IP 设置,并且使用相同的子网掩码等。那么这样的事情应该可以工作:

@echo off
net use x: "\\COMPUTER-NAME\PATH-TO-SHARED-SUBDIRECTORY" 

del /q "missing.txt" 2>nul

for /f "tokens=*" %%i in ('dir /b /a:-d-h x:') do (
if not exist "%userprofile%\DIRECTORY-PATH\%%i" echo %%i
)>>missing.txt
pause

我可能弄错了,否则会是:

@echo off
net use x: "\\COMPUTER-NAME\PATH-TO-SHARED-SUBDIRECTORY"

del /q "missing.txt" 2>nul

for /f "tokens=*" %%i in ('dir /b /a:-d-h "%userprofile%\SUBDIRECTORY-PATH\"') do (
if not exist "x:\%%i" echo %%i
)>>missing.txt
pause

无论哪种方式,您都会感兴趣的命令是net use

【讨论】:

    【解决方案2】:
    xcopy /L /d "directory a\*" "directory b\*"
    

    将显示目录 A 中但在目录 B 中丢失或更改的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 2012-04-13
      相关资源
      最近更新 更多