微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

批量比较 2 个文件夹与 .CSV 输出

如何解决批量比较 2 个文件夹与 .CSV 输出

我是批处理的新手。我正在尝试比较 2 个不同文件夹中的内容并将结果输出为 .csv。对比做得很好。但是,当我尝试将结果导出到 2 个不同的 .csv(以便我以后可以合并它们)时,.csv 文件是空的,即使它们不应该。


SET PATH1=C:\Users\ujurado\Desktop\Comp1
SET PATH2=C:\Users\ujurado\Desktop\Comp2

echo %PATH1%
echo %PATH2%

robocopy %PATH1% %PATH2% /L /NJH /njs /NP /NS
robocopy %PATH2% %PATH1% /L /NJH /njs /NP /NS

(for %%i in ("%PATH2%\*") do if exist "%PATH1%\%%~nxi" (ECHO(already exists: "%PATH1%\%%~nxi") ELSE ECHO(NOT found "%PATH1%\%%~nxi")>comparaPrimeroConSegundo.csv
(for %%i in ("%PATH1%\*") do if exist "%PATH2%\%%~nxi" (ECHO(already exists: "%PATH2%\%%~nxi") ELSE ECHO(NOT found "%PATH2%\%%~nxi")>comparaSegundoConPrimero.csv

copy comparaPrimeroConSegundo.csv+comparaSegundoConPrimero.csv comparaFinal.csv```

解决方法

只是一个未经测试的想法,但为什么不尝试单个 robocopy 命令注意:分隔符是单个 TAB 字符): >

@Set "PATH1=%UserProfile%\Desktop\Comp1"
@Set "PATH2=%UserProfile%\Desktop\Comp2"
@(For /F "Tokens=2 Delims=  " %%G In ('%SystemRoot%\System32\robocopy.exe "%PATH1%" "%PATH2%" /L /NDL /NJH /NJS /NP /NS /XC /XN /XO') Do @Echo %%G) 1>"comparaFinal.csv"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。