<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 41,  comments - 40,  trackbacks - 0

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: Author: NeedJava
    ::
    :: Modified: 2007-07-07
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @ECHO OFF

    SETLOCAL EnableDelayedExpansion

    ECHO 搜索重復(fù)的圖片,按任意鍵繼續(xù)。

    PAUSE>NUL


    DEL /F /Q list.txt 2>NUL

    DEL /F /Q sorted.txt 2>NUL

    DEL /F /Q clone.txt 2>NUL


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 生成“文件大小|文件路徑”,再排序,內(nèi)容諸如:
    ::
    :: 25329|C:\Documents and Settings\Administrator\桌面\02.jpg
    ::
    :: 我把文件大小加上100000000,即100MB,這樣方便SORT命令比較大小,那么內(nèi)容變成如下:
    ::
    :: 100025329|C:\Documents and Settings\Administrator\桌面\02.jpg
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    FOR /R %%a IN ( *.jpg ) DO SET /A size=%%~za+100000000 & ECHO !size!^|%%a>>list.txt


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 根據(jù)列表每行前面所列出的文件大小進(jìn)行排序
    ::
    :: 我把文件大小加上100000000,即100MB,這樣方便SORT命令比較大小
    ::
    :: 否則SORT會(huì)給我“1、123、1235、2、21、3”這樣的順序
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    SORT /R list.txt /O sorted.txt 2>NUL


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 我不認(rèn)為需要對(duì)5MB以上的圖片文件進(jìn)行二進(jìn)制比較,它們夠顯眼的了
    ::
    :: 只有大小一樣才需要作進(jìn)一步的二進(jìn)制比較,否則就是搞笑了
    ::
    ::
    :: FC搞笑:名稱(chēng)字?jǐn)?shù)超過(guò)185個(gè)的文件夾不予理會(huì)
    ::
    :: DIR搞笑:會(huì)把路徑中的一些Unicode碼(如30FB)用半角問(wèn)號(hào)“?”代替,記事本也如此
    ::
    :: FOR /R搞笑:不但會(huì)把Unicode碼(如30FB)用半角問(wèn)號(hào)“?”代替,還會(huì)把路徑中的“!”、“^”刪除
    ::
    :: 以上這些微軟的搞笑BUG,使得我的這個(gè)批處理也跟著有了BUG:路徑中不能有“!”、“^”和一些Unicode碼
    ::
    ::
    :: FC命令返回代碼含義:
    ::
    :: 0?? 完全相同
    ::
    :: 1?? 不完全同
    ::
    :: 2?? 缺少文件
    ::
    ::
    :: FIND命令返回代碼含義:
    ::
    :: 0?? 找到字符串
    ::
    :: 1?? 沒(méi)有找到字符串
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    SET preSize=

    SET preFile=

    FOR /F "tokens=1,2 delims=|" %%a IN ( sorted.txt ) DO (

    ??? SET /A curSize=%%a-100000000

    ??? SET curFile=%%b

    ??? ECHO ========================================================================
    ??? ECHO.
    ??? ECHO 上個(gè)文件大小:!preSize!
    ??? ECHO.
    ??? ECHO 當(dāng)前文件大?。?curSize!
    ??? ECHO.
    ??? ECHO 上個(gè)文件路徑:!preFile!
    ??? ECHO.
    ??? ECHO 當(dāng)前文件路徑:!curFile!
    ??? ECHO.

    ??? IF NOT "!preFile!"=="" IF !preSize! LEQ 5000000 (

    ?????? IF !preSize! EQU !curSize! (

    ????????? FC.EXE /B "!preFile!" "!curFile!">NUL

    ????????? IF !ERRORLEVEL! EQU 0 (

    ???????????? ECHO 兩個(gè)文件完全相同!
    ???????????? ECHO.

    ???????????? IF /I NOT "!always!"=="true" (

    ??????????????? ECHO.>>clone.txt

    ??????????????? ECHO !preSize!字節(jié)>>clone.txt

    ??????????????? ECHO !preFile!>>clone.txt

    ??????????????? SET always=true

    ???????????? )

    ???????????? ECHO !curFile!>>clone.txt

    ????????? )

    ?????? ) ELSE (

    ???????? SET always=false

    ?????? )

    ??? )

    ??? SET /A preSize=!curSize!

    ??? SET preFile=!curFile!

    )


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 刪除用過(guò)的文件等結(jié)尾工作
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    DEL /F /Q list.txt 2>NUL

    DEL /F /Q sorted.txt 2>NUL

    @ECHO ON

    最近要在Win2000下工作,發(fā)現(xiàn)Win2000(沒(méi)打SP4)提供的FC.EXE命令有問(wèn)題,不論是在Shell下還是在批處理,一些大小一樣的圖片,比較的結(jié)果都是讓%ERRORLEVEL%為0,也就是相同,大家有興趣可以試試下面兩個(gè)文件,注意,把jpg改成gif的。





    由于上述比較只是假設(shè)同種文件的復(fù)本,沒(méi)有考慮同樣大小文件的干擾,按習(xí)慣,應(yīng)該一一比較,如〔1、2、3、4〕,需要比較〔1、2〕、〔1、3〕、〔1、4〕、〔2、3〕、〔2、4〕、〔3、4〕這幾組,如下:

    假設(shè)相同文件有n個(gè),理想FOR命令如下:

    for( int i=1; i<n; i++ )
    ?? {
    ???? for( int j=i+1; j<=n; j++ )
    ????????{
    ??????????compare i and j...
    ??????? )
    ?? }

    但是FOR命令的局限,很難做到,所以自己也在考慮更好的辦法,如下是第二次改進(jìn):

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: Name: 搜索重復(fù)圖片(或其他任意類(lèi)型、大小的文件,對(duì)0字節(jié)的也比較)
    ::
    :: Author: NeedJava
    ::
    :: Modified: 2007-07-30
    ::
    :: 注意:你可以在任何地方使用此批處理,但必須保持文件作者及注釋部分的完整
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @ECHO OFF

    SETLOCAL EnableDelayedExpansion

    ECHO 搜索重復(fù)的圖片,按任意鍵繼續(xù)。
    ECHO.

    PAUSE>NUL

    DEL /F /Q hash.txt 2>NUL
    DEL /F /Q sort.txt 2>NUL
    DEL /F /Q clone.txt 2>NUL
    DEL /F /Q lost.txt 2>NUL

    RD /S /Q "Clone\" 2>NUL & MD "Clone\" 2>NUL


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 生成“文件大小|文件路徑”,再排序,內(nèi)容諸如:
    ::
    :: 25329|C:\Documents and Settings\Administrator\桌面\02.jpg
    ::
    :: 把文件大小加上100000000,即100MB,這樣方便SORT命令比較大小,那么內(nèi)容變成如下:
    ::
    :: 100025329|C:\Documents and Settings\Administrator\桌面\02.jpg
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    CLS

    ECHO 正在搜索文件,請(qǐng)稍候……
    ECHO.

    FOR /R %%a IN ( *.jpg ) DO (

    ??? SET /A size=%%~za+100000000

    ??? ECHO !size!^|%%a>>hash.txt

    )


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 根據(jù)列表每行前面所列出的文件大小進(jìn)行排序
    ::
    :: 把文件大小加上100000000,即100MB,這樣方便SORT命令比較大小
    ::
    :: 否則SORT會(huì)給我們“1、123、1235、2、21、3”這樣的順序
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    CLS

    ECHO 正在排序文件,請(qǐng)稍候……
    ECHO.

    IF EXIST hash.txt (

    ?? SORT /R hash.txt /O sort.txt 2>NUL

    )


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 把大小相同的文件分離成一個(gè)個(gè)單獨(dú)的文件,方便后面的相互比較
    ::
    :: 我不認(rèn)為需要對(duì)5MB以上的圖片文件進(jìn)行二進(jìn)制比較,它們夠顯眼的了
    ::
    :: 只有大小一樣才需要作進(jìn)一步的二進(jìn)制比較,否則就是搞笑了
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    CLS

    ECHO 正在分離文件,請(qǐng)稍候……
    ECHO.

    IF EXIST sort.txt (

    ?? SET "preSize="

    ?? SET "preFile="

    ?? FOR /F "tokens=1,2 delims=|" %%a IN ( sort.txt ) DO (

    ?????? SET /A curSize=%%a-100000000

    ?????? SET "curFile=%%b"

    ?????? IF NOT "!preFile!"=="" IF !preSize! LEQ 5000000 (

    ????????? IF !preSize! EQU !curSize! (

    ???????????? IF /I NOT "!always!"=="true" (

    ??????????????? ECHO !preSize!^|!preFile!>"Clone\!preSize!.vab"

    ??????????????? SET "always=true"

    ???????????? )

    ???????????? ECHO !curSize!^|!curFile!>>"Clone\!preSize!.vab"

    ????????? ) ELSE (

    ??????????? SET "always=false"

    ????????? )

    ?????? )

    ?????? SET /A preSize=!curSize!

    ?????? SET "preFile=!curFile!"

    ?? )

    )


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 微軟一些DOS命令的搞笑BUG:
    ::
    :: FC:名稱(chēng)的字?jǐn)?shù)超過(guò)185個(gè)的文件夾不予理會(huì)
    ::
    :: DIR:把路徑中的一些Unicode碼(如30FB)用半角問(wèn)號(hào)“?”代替,記事本也如此
    ::
    :: FOR /R:不但把Unicode碼(如30FB)用半角問(wèn)號(hào)“?”代替,還會(huì)刪除路徑中的“!”和“^”
    ::
    :: 以上這些微軟BUG,使這個(gè)批處理也有了BUG:路徑中不能有“!”、“^”和一些Unicode碼
    ::
    ::
    :: FC命令返回代碼含義:
    ::
    :: 0?? 完全相同
    ::
    :: 1?? 不完全同
    ::
    :: 2?? 缺少文件
    ::
    ::
    :: FIND命令返回代碼含義:
    ::
    :: 0?? 找到字符串
    ::
    :: 1?? 沒(méi)有找到字符串
    ::
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :reload

    IF EXIST "Clone\" (

    ?? FOR /R "Clone\" %%a IN ( *.vab ) DO (

    ?????? SET "list=Clone\%%~nxa"

    ?????? SET /A num=1

    ?????? GOTO cycle

    ?? )

    )

    GOTO delete


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 原理:
    ::
    :: 假設(shè)有DATA[A B C D B A A]這個(gè)7位數(shù)組需要自身比較,按照正常的方法,如下:
    ::
    :: for( int i=0; i<n-1; i++ )
    ::??? {
    ::????? for( int j=i+1; j<n; j++ )
    ::???????? {
    ::?????????? compare DATA[i] DATA[j]...
    ::???????? }
    ::??? }
    ::
    :: 需要比較N*(N-1)/2次,即7*(7-1)/2=21次,如下:
    ::
    :: [A B]、[A C]、[A D]、[A B]、[A A]、[A A]
    ::
    :: [B C]、[B D]、[B B]、[B A]、[B A]
    ::
    :: [C D]、[C B]、[C A]、[C A]
    ::
    :: [D B]、[D A]、[D A]
    ::
    :: [B A]、[B A]
    ::
    :: [A A]
    ::
    :: 但是從上面的列表可以發(fā)現(xiàn),有些已經(jīng)被確定和某個(gè)數(shù)相同的數(shù),如[A]和[B]兩類(lèi),
    ::
    :: 在后面依然和別的數(shù)繼續(xù)比較,這是不科學(xué)的,應(yīng)該在找到相同類(lèi)后,刪除它們。
    ::
    :: 也就是說(shuō),一旦找到相同的類(lèi),就把它們剔除出循環(huán),那么循環(huán)應(yīng)該如下:
    ::
    :: A B C D B A A
    ::
    :: 第一次循環(huán)找出所有相同的[A]后,待比較列表動(dòng)態(tài)變?yōu)椋?br />::
    :: B C D B
    ::
    :: 第二次循環(huán)找出所有相同的[B]后,待比較列表動(dòng)態(tài)變?yōu)椋?br />::
    :: C D
    ::
    :: 如上,那么比較為:
    ::
    :: [A B]、[A C]、[A D]、[A B]、[A A]、[A A]
    ::
    :: [B C]、[B D]、[B B]、[BXA]、[BXA]
    ::
    :: [C D]、[CXB]、[CXA]、[CXA]
    ::
    :: [DXB]、[DXA]、[DXA]
    ::
    :: [BXA]、[BXA]
    ::
    :: [AXA]
    ::
    :: 中間有X的表示已被縮減的,即最終比較為:
    ::
    :: [A B]、[A C]、[A D]、[A B]、[A A]、[A A]
    ::
    :: [B C]、[B D]、[B B]
    ::
    :: [C D]
    ::
    :: 整個(gè)批處理原理:
    ::
    :: 1、FOR命令通過(guò)%%~za生成零散的,每列開(kāi)頭為文件大小的文件列表hash.txt,如:
    ::
    ::??? 100017000|E:\123.jpg
    ::??? 100017000|E:\345.jpg
    ::??? 100056732|E:\ffff.jpg
    ::??? 100017000|E:\OK\123.jpg
    ::??? 100056732|E:\OK\ffff.jpg
    ::??? 100012345|E:\OK\gag.jpg
    ::
    :: 2、SORT命令將hash.txt從大到小(當(dāng)然也可以從小到大)排序成sort.txt,如:
    ::
    ::??? 100056732|E:\ffff.jpg
    ::??? 100056732|E:\OK\ffff.jpg
    ::??? 100017000|E:\123.jpg
    ::??? 100017000|E:\345.jpg
    ::??? 100017000|E:\OK\123.jpg
    ::??? 100012345|E:\OK\gag.jpg
    ::
    :: 3、分析sort.txt列表文件,如果有兩行以上大小相同的紀(jì)錄,分離到同一個(gè)新列表文件:
    ::
    ::??? 文件名:Clone\56732.vab,內(nèi)容如下:
    ::??? 100056732|E:\ffff.jpg
    ::??? 100056732|E:\OK\ffff.jpg
    ::
    ::??? 文件名:Clone\17000.vab,內(nèi)容如下:
    ::??? 100017000|E:\123.jpg
    ::??? 100017000|E:\345.jpg
    ::??? 100017000|E:\OK\123.jpg
    ::
    :: 4、通過(guò)雙層嵌套FOR命令,進(jìn)行比較,相同的紀(jì)錄進(jìn)clone.txt,也就是最終文件;
    ::
    ::??? 不相同的則紀(jì)錄進(jìn)新的文件comparedN.vab,此處N為數(shù)字1、2、3、4,如果不刪除,
    ::
    ::??? 可以看到動(dòng)態(tài)的待比較列表,用于調(diào)試。
    ::
    ::??? 一旦生成了comparedN.vab文件,就表示有未比較的文件,則將待比較列表list設(shè)成
    ::
    ::??? 最新的comparedN.vab文件,并且跳轉(zhuǎn)到雙層嵌套FOR命令開(kāi)頭cycle,重新循環(huán)。
    ::
    ::??? 一旦待比較列表list消失,則表明此類(lèi)大小的文件比較完畢,跳轉(zhuǎn)到reload,分析下
    ::
    ::??? 一個(gè)大小的文件列表。
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :cycle

    REM TYPE !list! & PAUSE

    IF EXIST !list! (

    ?? FOR /F "tokens=1,2 delims=|" %%M IN ( !list! ) DO (

    ?????? SET "found=false"

    REM??? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM??? ::
    REM??? :: 我們分析的文件內(nèi)容是用“|”分隔的,如下:
    REM??? ::
    REM??? :: 56732|E:\ffff.jpg
    REM??? ::
    REM??? :: tokens=1,2 delims=|會(huì)把內(nèi)容分割成兩部分,即56732和E:\ffff.jpg
    REM??? ::
    REM??? :: 第一個(gè)部分用變量%%m表示,也就是文件大小56732
    REM??? ::
    REM??? :: 第二個(gè)部分用變量%%n表示,也就是文件完整的路徑E:\ffff.jpg
    REM??? ::
    REM??? :: skip=1表示跳過(guò)一行,用來(lái)防止自身比較。當(dāng)然為了穩(wěn)妥,下面還是用了判斷
    REM??? ::
    REM??? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ?????? FOR /F "skip=1 tokens=1,2 delims=|" %%m IN ( !list! ) DO (

    REM??????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM??????? ::
    REM??????? :: 必須是大小相同的文件才能比較。不是必要,但穩(wěn)妥起見(jiàn)還是判斷一下
    REM??????? ::
    REM??????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ?????????? IF /I "%%M"=="%%m" (

    REM?????????? ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM?????????? ::
    REM?????????? :: 不能自己跟自己比較。雖然上面用skip=1跳過(guò),但穩(wěn)妥起見(jiàn)還是判斷一下
    REM?????????? ::
    REM?????????? ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ????????????? IF /I NOT "%%N"=="%%n" (

    ???????????????? CLS

    ???????????????? ECHO 正在比較以下%%M字節(jié)的兩個(gè)文件:
    ???????????????? ECHO %%N
    ???????????????? ECHO %%n
    ???????????????? ECHO.

    REM????????????? PAUSE

    REM????????????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM????????????? ::
    REM????????????? :: 根據(jù)FC命令用二進(jìn)制比較,所返回的錯(cuò)誤碼來(lái)判斷兩個(gè)文件是否相同
    REM????????????? ::
    REM????????????? :: Windows 2000下FC命令有問(wèn)題,所以Windows 2000不能使用此批處理
    REM????????????? ::
    REM????????????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ???????????????? FC.EXE /B "%%N" "%%n">NUL 2>NUL

    REM????????????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM????????????? ::
    REM????????????? :: 兩個(gè)文件比較后完全相同,F(xiàn)C命令會(huì)返回0
    REM????????????? ::
    REM????????????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ???????????????? IF !ERRORLEVEL! EQU 0 (

    ??????????????????? ECHO 兩個(gè)文件完全相同!
    ??????????????????? ECHO.

    REM???????????????? PAUSE

    REM???????????????? ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM???????????????? ::
    REM???????????????? :: 如果!found!為true,就表示在比較循環(huán)中,遇到了第一次相同
    REM???????????????? ::
    REM???????????????? :: 用于在找到的列表clone.txt中寫(xiě)入新的標(biāo)題
    REM???????????????? ::
    REM???????????????? ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ??????????????????? IF /I NOT "!found!"=="true" (

    ?????????????????????? ECHO [%%M Bytes]>>clone.txt
    ?????????????????????? ECHO %%N>>clone.txt

    ?????????????????????? SET "found=true"

    ??????????????????? )

    ??????????????????? ECHO %%n>>clone.txt

    ???????????????? )

    REM????????????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM????????????? ::
    REM????????????? :: 兩個(gè)文件比較后不相同,F(xiàn)C命令會(huì)返回1
    REM????????????? ::
    REM????????????? :: 把不相同的文件寫(xiě)入下一個(gè)待比較列表
    REM????????????? ::
    REM????????????? :: 這個(gè)列表將取代現(xiàn)有列表用于下次循環(huán)
    REM????????????? ::
    REM????????????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ???????????????? IF !ERRORLEVEL! EQU 1 (

    REM???????????????? ECHO %%n & ECHO. & PAUSE

    ??????????????????? ECHO %%m^|%%n>>"compared!num!.vab"

    ???????????????? )

    REM????????????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM????????????? ::
    REM????????????? :: 找不到相應(yīng)的文件時(shí),F(xiàn)C命令會(huì)返回2
    REM????????????? ::
    REM????????????? :: 由于FOR /R命令得出的路徑,會(huì)刪除路徑中的“!”和“^”,
    REM????????????? ::
    REM????????????? :: 這會(huì)導(dǎo)致雖然待比較列表有路徑(錯(cuò)誤的),然而FC命令卻找不到
    REM????????????? ::
    REM????????????? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ???????????????? IF !ERRORLEVEL! EQU 2 (

    REM???????????????? ECHO %%n & ECHO. & PAUSE

    ??????????????????? IF NOT EXIST "%%N" (

    ????????????????????? ?ECHO %%M^|%%N>>lost.txt

    ??????????????????? )

    ??????????????????? IF NOT EXIST "%%n" (

    ????????????????????? ?ECHO %%m^|%%n>>lost.txt

    ??????????????????? )

    ???????????????? )

    ????????????? )

    ?????????? )

    ?????? )

    REM??? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM??? ::
    REM??? :: 如果!found!為true,就表示在這次循環(huán)中找到了相同文件
    REM??? ::
    REM??? :: 那么針對(duì)這次循環(huán)的結(jié)束,在找到的列表clone.txt中追加一個(gè)空行,用來(lái)分隔
    REM??? ::
    REM??? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ?????? IF /I "!found!"=="true" (

    ????????? ECHO.>>clone.txt

    ?????? )

    REM??? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM??? ::
    REM??? :: 刪除現(xiàn)有的待比較列表,必須刪除,否則會(huì)陷入死循環(huán)
    REM??? ::
    REM??? :: 這也是跳出循環(huán)的判斷條件,very important!
    REM??? ::
    REM??? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ?????? DEL /F /Q "!list!" 2>NUL

    REM??? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    REM??? ::
    REM??? :: 如果剛才的循環(huán),有一些文件不相同,就會(huì)存在新的待比較列表
    REM??? ::
    REM??? :: 我們把它設(shè)為新的待比較列表,準(zhǔn)備跳轉(zhuǎn)到循環(huán)開(kāi)頭,重新循環(huán)
    REM??? ::
    REM??? :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ?????? IF EXIST "compared!num!.vab" (

    ????????? SET "list=compared!num!.vab"

    ????????? SET /A num+=1

    ?????? ) ELSE (

    ???????? GOTO reload

    ?????? )

    ?????? GOTO cycle

    ?? )

    )


    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::
    :: 刪除用過(guò)的文件
    ::
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :delete

    DEL /F /Q hash.txt 2>NUL
    DEL /F /Q sort.txt 2>NUL

    RD /S /Q "Clone\" 2>NUL

    IF EXIST clone.txt %SystemRoot%\NOTEPAD.EXE clone.txt

    @ECHO ON

    posted on 2007-07-08 21:40 NeedJava 閱讀(1165) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): DOS Windows
    主站蜘蛛池模板: 国产成人亚洲精品影院| 99精品在线免费观看| 久久亚洲中文无码咪咪爱| 亚洲中文字幕久久精品无码A | 可以免费看的卡一卡二| 一区二区三区四区免费视频| 日本免费人成视频在线观看| 久久国产色AV免费看| 久热中文字幕在线精品免费| 久久午夜羞羞影院免费观看| 日本最新免费网站| 免费可以在线看A∨网站| 亚洲国产日韩在线一区| 亚洲一级黄色大片| 亚洲人成人伊人成综合网无码| 亚洲最大福利视频| 亚洲AV无码精品色午夜果冻不卡 | 免费鲁丝片一级观看| 国产人妖ts在线观看免费视频| 亚洲成A∨人片天堂网无码| 三上悠亚亚洲一区高清| 久久精品亚洲综合专区| 亚洲国产综合在线| 中文字幕亚洲综合久久| 亚洲校园春色小说| 亚洲美国产亚洲AV| 国产精品99爱免费视频| 99久久免费中文字幕精品| 久久久久久久久免费看无码| 国产免费av一区二区三区| 亚洲人JIZZ日本人| 亚洲成年人电影网站| 亚洲AV无码AV男人的天堂不卡| 亚州**色毛片免费观看| 久久免费观看国产99精品| 欧美好看的免费电影在线观看| 免费午夜爽爽爽WWW视频十八禁| 亚洲永久精品ww47| 亚洲va精品中文字幕| 一本久久免费视频| 99视频有精品视频免费观看|