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

[文件操作] [已解决]批处理比较两目录的文件,将其中一方的文件删除的问题

本帖最后由 thp2008 于 2023-11-6 23:49 编辑

自已写了个比较A和B目录的批处理,弄了半天,死活不成功。大家帮我看看,是什么问题。

规则就是,如果B目录,存在A目录中,相同的文件名,就将B目录中的同名文件删除。
  1. @echo off
  2. setlocal
  3. set /p "A_dir=A目录路径: "
  4. set /p "B_dir=B目录路径: "
  5. echo.
  6. echo 删除清单如下:
  7. echo.
  8. for /r "%A_dir%" %%F in (*) do (
  9.     set "file=%%~nxF"
  10.     if exist "%B_dir%\!file!" (
  11.         echo %B_dir%\!file!
  12.     )
  13. )
  14. echo.
  15. set /p "confirm=请确认是否删除以上文件 (Y/N): "
  16. if /i "%confirm%"=="Y" (
  17.     echo 正在删除文件...
  18.     for /r "%A_dir%" %%F in (*) do (
  19.         set "file=%%~nxF"
  20.         if exist "%B_dir%\!file!" (
  21.             del "%B_dir%\!file!"
  22.         )
  23.     )
  24.     echo.
  25.     echo 删除完成。
  26. ) else (
  27.     echo 操作已取消。
  28. )
  29. endlocal
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

这个是区域变量,没有开启变量延迟扩展
顶楼代码没有判断b是否存在于a吧
77七 发表于 2023-11-6 21:39


这个我测了不行

TOP

回复 3# Batcher

弄了半天,也不报错,什么结果也没有,让Ai帮我写的,问了它半天,它也不知道怎么会事。只好上来问一下,发现Ai还是有很多搞不懂的,还是人靠谱。

TOP

是的,用Ai写代码,尽量想清楚你的要求,描述清楚你的逻辑,逻辑的描述很重要,这样比较容易成功。3.5 也能用 ,4.0好很多。就是要钱
但是有些细节,它还是不行,而且在我使用近2月来看,写成功了近百个小工具,还是可以的,就是有时候,如果它不会的时候,怎么也理解不成功的时候,就比较麻烦,上次那个拼音替换,跟它反复推拉了8小时,它都没有搞定,才上来问了。有时候,我也想测试一下,它的能力,才花了很长时间,跟它聊。

TOP

返回列表