本帖最后由 thp2008 于 2023-11-6 23:49 编辑
自已写了个比较A和B目录的批处理,弄了半天,死活不成功。大家帮我看看,是什么问题。
规则就是,如果B目录,存在A目录中,相同的文件名,就将B目录中的同名文件删除。- @echo off
- setlocal
-
- set /p "A_dir=A目录路径: "
- set /p "B_dir=B目录路径: "
-
- echo.
- echo 删除清单如下:
- echo.
-
- for /r "%A_dir%" %%F in (*) do (
- set "file=%%~nxF"
- if exist "%B_dir%\!file!" (
- echo %B_dir%\!file!
- )
- )
-
- echo.
- set /p "confirm=请确认是否删除以上文件 (Y/N): "
-
- if /i "%confirm%"=="Y" (
- echo 正在删除文件...
-
- for /r "%A_dir%" %%F in (*) do (
- set "file=%%~nxF"
- if exist "%B_dir%\!file!" (
- del "%B_dir%\!file!"
- )
- )
-
- echo.
- echo 删除完成。
- ) else (
- echo 操作已取消。
- )
-
- endlocal
复制代码
|