【问题标题】:.bat script to compare contents of two windows folders.bat 脚本比较两个 windows 文件夹的内容
【发布时间】:2013-06-13 12:51:03
【问题描述】:

我想编写一个简短的 .bat 脚本来比较两个文件夹的内容。

文件夹 1:包含大约 1300 个文件。 文件夹 2:包含大约 400 个文件。

我想要一个可以通过 windows 命令行运行的脚本,该脚本将文件夹 2 中的每个文件检查以查看文件夹 1 中是否存在同名文件...如果是,则输出名称将文件夹 2 文件转换为 .csv 文件(或记事本,我很容易只是想要一个列表!)。

任何想法或帮助将不胜感激!

【问题讨论】:

    标签: windows batch-file command-line-arguments


    【解决方案1】:

    试试这个

    (for %%i in ("folder2\*") do if exist "folder1\%%~nxi" echo(%%~i)>file.csv
    

    【讨论】:

    • 太棒了,非常感谢!为了进一步麻烦您,我想知道我是否可以改进输出? >(.bat location)>if exists "(Folder 2)" echo(Folder 1) # 返回真! >(location\in\folder1\file.pdf) >(.bat location)>if exists "(Folder 2)" echo(Folder 1) # 返回假但仍然打印 有没有不输出假返回的简单方法然后在 if 语句的 True 执行中,对文件位置进行切片,使其仅包含文件名。可能是从末尾的第一个 [.] 和末尾的第一个 [] 之间弹出非常感谢您的帮助
    • 你可以试试这个:(for %%i in ("folder2\*") do if exist "folder1\%%~nxi" (ECHO(already exists: "folder1\%%~nxi") ELSE ECHO(NOT found "folder1\%%~nxi")>file.csv
    【解决方案2】:

    找到了一个适用于远程文件夹并且速度非常快的解决方案

    @echo off
    
    SETLOCAL ENABLEDELAYEDEXPANSION
    set /p computer=Computer Name?:
    set pubpath=\\%computer%\c$\docume~1\alluse~1\Desktop\
    set results=excluded
    set extension=txt
    set xlist="ANHLIVE Desktop.lnk" "ANHLIVE EMR.lnk" "ImageNow.lnk" "IMPAX Client.lnk" "Internet Explorer.lnk" "Microsoft Excel 2010.lnk" "Microsoft Outlook 2010.lnk" "Microsoft Word 2010.lnk" "My Documents.lnk" "NextGen.RDP" "RBODowntimeLabel.doc" "desktop.ini"
    set xlistcount=12
    
    for /r %pubpath% %%g in (*) do (
        set count=0
        for %%a in (%xlist%) do (
            set /a count=count+1
            set localdir=%%a
            set localdir=!localdir:~1,-1!
            set remotedir=%%g
            set remotedir=!remotedir:%pubpath%=!
            if !localdir!==!remotedir! (
                set count=12
            ) else (
                if !count!==%xlistcount% (
                    echo !remotedir! >> %results%.%extension%
                )
            )
        )
    )
    Echo Complete!
    pause
    

    【讨论】:

      猜你喜欢
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多