qq_27617815
qq_27617815
2018-01-08 06:35
采纳率: 100%
浏览 2.9k
已采纳

bat 比较2个目录文件下的文件名 输出不同的文件名

A 目录d:\workhome下有名为 1001、1002、1003、1004文件夹
B 目录e:、workhome下有名为 1002、1004文件夹

比较A目录中的文件夹名(1001、1002、1003、1004)是否在B中存在,不存在则输出
1001、1003不存在

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • qq_42911911
    qq_42911911 2018-08-12 13:17
    已采纳

    @echo off
    @echo [要比较的文件夹][被比较的文件夹]

    set srcDir =
    set destDir =
    if "" == "%1" (
    set /p srcDir=输入要比较的文件夹:
    ) else (
    set srcDir=%1
    )
    if "" == "%2" (
    set /p destDir=输入被比较的文件夹:
    ) else (
    set destDir=%2
    )

    ::@echo =-=-=-=
    @echo [%srcDir%][%destDir%]
    for /d %%f in (%destDir%*) do (
    :: @echo [%%f]
    if not exist %srcDir%\%%~nf @echo %%~nf
    )
    pause

    点赞 评论
  • caozhy
    点赞 评论
  • qq_28166403
    卓尔不群是为妖? 2018-01-08 08:14

    要用什么语言写呢,java还是c++?

    点赞 评论
  • qq_35027284
    qq_35027284 2018-01-09 02:26
    @echo off
    @echo [要比较的文件夹][被比较的文件夹]
    
    set srcDir =
    set destDir =
    if "" == "%1" (
        set /p srcDir=输入要比较的文件夹:
    ) else ( 
        set srcDir=%1
    )
    if "" == "%2" (
        set /p destDir=输入被比较的文件夹:
    ) else ( 
        set destDir=%2
    )
    
    
    ::@echo =-=-=-=
    @echo [%srcDir%][%destDir%]
    for /d %%f in (%destDir%\*) do (
    ::  @echo [%%f]
        if not exist %srcDir%\%%~nf @echo %%~nf
    )
    pause
    
    

    其实可以装个对比工具,可以对比整个文件夹,子文件夹和文件都可以对比,一目了然。

    点赞 评论

相关推荐