??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲熟妇无码乱子AV电影,亚洲欧洲AV无码专区,亚洲av中文无码乱人伦在线播放 http://m.tkk7.com/needjava/category/21488.htmlYou Need Java, Like World Need Sun.zh-cnMon, 17 Sep 2007 06:01:47 GMTMon, 17 Sep 2007 06:01:47 GMT60〔Windows〕不能重命名的Program Files和Windows文g?/title><link>http://m.tkk7.com/needjava/archive/2007/09/03/142274.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Mon, 03 Sep 2007 05:28:00 GMT</pubDate><guid>http://m.tkk7.com/needjava/archive/2007/09/03/142274.html</guid><wfw:comment>http://m.tkk7.com/needjava/comments/142274.html</wfw:comment><comments>http://m.tkk7.com/needjava/archive/2007/09/03/142274.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/needjava/comments/commentRss/142274.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/needjava/services/trackbacks/142274.html</trackback:ping><description><![CDATA[ <font face="Courier New" size="2">今天无意中想复制Program Files文g夹的名称Q一般单d可以q去了,但今天发现咚咚直响,右键也没有“重命名”选项Q不知道是不是微软的安全漏洞让微软封了此文g夹?q是我一直没发现Q?/font> <img src ="http://m.tkk7.com/needjava/aggbug/142274.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/needjava/" target="_blank">NeedJava</a> 2007-09-03 13:28 <a href="http://m.tkk7.com/needjava/archive/2007/09/03/142274.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔批处理〕从数码相片得到照相旉http://m.tkk7.com/needjava/archive/2007/08/14/136768.htmlNeedJavaNeedJavaTue, 14 Aug 2007 11:42:00 GMThttp://m.tkk7.com/needjava/archive/2007/08/14/136768.htmlhttp://m.tkk7.com/needjava/comments/136768.htmlhttp://m.tkk7.com/needjava/archive/2007/08/14/136768.html#Feedback0http://m.tkk7.com/needjava/comments/commentRss/136768.htmlhttp://m.tkk7.com/needjava/services/trackbacks/136768.html @ECHO OFF

SETLOCAL EnableDelayedExpansion

DEL /F /Q picture.txt 2>NUL


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: 原理Q?br />::
:: 一般情况下Q有EXIF信息的照片,会有三处旉Q当然还有特例)Q第一处格式ؓQ?br />::
:: 2001:01:01 02:04:18
::
:: W二、第三处是在一LQ中间有个NULL|如下Q?br />::
:: 2001:01:01 02:04:18[NULL]2001:01:01 02:04:18
::
:: 我通过WindowsXP和ACDSee8分析了很多张囄Q发现第一处的旉很可能有误,
::
:: 也就是说QWindowsXP和ACDSee8实际使用的应该是W二或第三处的时_
::
:: 使用W二处的旉?br />::
::
:: 注意Q?br />::
:: 1、有些h喜欢把一些秘密藏在图片中Q而秘密有可能包含旉Q所以,可能有问题,
::
::    不过Q这U情况好像很?
::
:: 2、由于FINDSTR.EXE命o的局限性(q真正的正则表辑ּQ,错误是难免的?br />::
::
:: 另外Q?br />::
:: 1、开始我?.jpeg也列入查找,但发?.jpe可以搜烦?.jpegQ只好剔?.jpeg?br />::
:: 2、我讨厌ACDSee8重命名时Q把2001-01-01 02-01-19Ҏ2001-01-01 2-1-19Q不好看Q?br />::
:: 3、其实我写这个的目的是修改囄名称为照相时_剩下的以后写
::
::
:: Author: NeedJava
::
:: Modified: 2007-08-15/2007-08-24/2007-08-25
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
FOR /R %%a IN ( *.jpg *.jpe *.jfif *.tif ) DO (

   CLS

   ECHO 正在处理?%%a!?/font>

   SET "final=NULL"

   IF "!final!"=="NULL" (

      SET /A times=0

      FOR /F "delims=" %%i IN ( 'FINDSTR.EXE "200 199 201 202" "%%a" 2^>NUL ^| MORE 2^>NUL ^| FINDSTR.EXE /R "\<[1-2][0-9][0-9][0-9][:][0-1][0-9][:][0-3][0-9] [0-2][0-9][:][0-5][0-9][:][0-5][0-9]\>" 2^>NUL' ) DO (

          SET /A times+=1

          IF !times! EQU 2 (

             SET "parse=%%i"

             IF "!parse:~-3,1!"==":" IF "!parse:~-9,1!"==" " (

                SET "parse=!parse:~-19!"

                ECHO Found [!parse!]

                FOR /F "tokens=1,2,3,4,5,6 delims=: " %%A IN ( "!parse!" ) DO (

                    SET "final=%%A-%%B-%%C %%D-%%E-%%F"

                )

             )

          )

      )

   )

   IF "!final!"=="NULL" (

      FOR /F "delims=" %%i IN ( 'FINDSTR.EXE /I "DateTimeOriginal" "%%a" 2^>NUL' ) DO (

          SET "parse=%%i"

          IF /I "!parse:~-24,7!"=="</exif:" IF "!parse:~-30,1!"=="+" (

             SET "parse=!parse:~-49,19!"

             ECHO Found [!parse!]

             FOR /F "tokens=1,2,3,4,5,6 delims=-:T" %%A IN ( "!parse!" ) DO (

                 SET "final=%%A-%%B-%%C %%D-%%E-%%F"

             )

          )

      )

   )

   IF NOT "!final!"=="NULL" (

      ECHO Parse [!final!]

      ECHO [%%~nxa]>>picture.txt

      ECHO !final!>>picture.txt

      ECHO;>>picture.txt

   )

)

GOTO :EOF

@ECHO ON

剩下的就是改名了Q由于要防备同名Q也是一U内拍了两三张这L情况Q所以需要追加数字序?br /> 



NeedJava 2007-08-14 19:42 发表评论
]]>
〔批处理〕得到回收站删除的文件列?/title><link>http://m.tkk7.com/needjava/archive/2007/08/13/136411.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Mon, 13 Aug 2007 07:55:00 GMT</pubDate><guid>http://m.tkk7.com/needjava/archive/2007/08/13/136411.html</guid><wfw:comment>http://m.tkk7.com/needjava/comments/136411.html</wfw:comment><comments>http://m.tkk7.com/needjava/archive/2007/08/13/136411.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/needjava/comments/commentRss/136411.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/needjava/services/trackbacks/136411.html</trackback:ping><description><![CDATA[ <p> <font face="Courier New" color="#808080" size="2">@ECHO OFF</font> </p> <p> <font face="Courier New" color="#808080" size="2">SETLOCAL EnableDelayedExpansion</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 需要区别FAT32和NTFS格式下的回收?br />::<br />:: FAT32回收站结构如下:<br />::<br />:: [Recycled]<br />:: desktop.ini<br />:: INFO2<br />::<br />:: NTFS回收站结构如下:<br />::<br />:: [Recycler]<br />::   [S-1-5-21-1409082233-448539723-725345543-500]<br />::     desktop.ini<br />::     INFO2<br />::   [S-1-5-21-1844237615-2139871995-1417001333-500]<br />::     desktop.ini<br />::     INFO2<br />::   [S-1-5-21-606747145-261478967-839522115-500]<br />::     desktop.ini<br />::     INFO2<br />::<br />:: 其中Q?br />::<br />:: desktop.ini用来定义文g夹,告诉pȝQ你把存我的文g夹变成回收站的样?br />::<br />:: INFO2用来存放当前盘符下删除的文g的原来\径,?.3短文件名Q以及与改名文g对应关系<br />::<br />:: 我们是用的INFO2文gQ将里面存放的信息通过两次查找qo出来<br />::<br />:: 重点Q?br />::<br />:: FIND.EXE ":" "C:\Recycled\INFO2" 2>NUL | FINDSTR.EXE /R "^[A-z]:[\\]" 2>NUL<br />::<br />:: 参考:<br />::<br />:: </font> <a > <font face="Courier New" color="#808080" size="2">http://www.cn-dos.net/forum/viewthread.php?tid=25053&fpage=1&highlight=tokens%3D1%2B&page=1</font> </a> <br /> <font face="Courier New" color="#808080" size="2">::<br />:: 感谢Q?br />::<br />:: 中国DOS联盟论坛里所有给予我启发的热心hQ我受益匪!<br />::<br />:: Author: NeedJava<br />::<br />:: Modified: 2007.08.13<br />::<br />:: BTW: 今晚23时东北方向有׃座流星雨Q我已经调好照相Z<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />DEL /F /Q deleted.txt 2>NUL</font> </p> <p> <font face="Courier New" color="#808080" size="2">FOR %%a IN ( C D E F G H I J K L M N O P Q R S T U V Y X Y Z ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">    IF EXIST "%%a:\" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">       ECHO 正在搜烦?%a:〕盘下的回收站…?/font> </p> <p> <font face="Courier New" color="#808080" size="2">       FOR /F "delims=" %%i IN ( 'DIR /AH-D /B /S "%%a:\Recycler\INFO2" 2^>NUL' ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM        ECHO [%%i] & PAUSE</font> </p> <p> <font face="Courier New" color="#808080" size="2">           CALL :parse %%i</font> </p> <p> <font face="Courier New" color="#808080" size="2">       )</font> </p> <p> <font face="Courier New" color="#808080" size="2">       FOR /F "delims=" %%I IN ( 'DIR /AH-D /B /S "%%a:\Recycled\INFO2" 2^>NUL' ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM        ECHO [%%I] & PAUSE</font> </p> <p> <font face="Courier New" color="#808080" size="2">           CALL :parse %%I</font> </p> <p> <font face="Courier New" color="#808080" size="2">       )</font> </p> <p> <font face="Courier New" color="#808080" size="2">    )</font> </p> <p> <font face="Courier New" color="#808080" size="2">)</font> </p> <p> <font face="Courier New" color="#808080" size="2">@ECHO ON</font> </p> <p> <font face="Courier New" color="#808080" size="2">GOTO :EOF</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 重点Q?br />::<br />:: FIND.EXE ":" "C:\Recycled\INFO2" 2>NUL | FINDSTR.EXE /R "^[A-z]:[\\]" 2>NUL<br />::<br />:: 详细解释请关注上面的|站Q无奈何版主的叙qͼ呵呵Q本人坐板凳?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:parse</font> </p> <p> <font face="Courier New" color="#808080" size="2">ECHO [%1]>>deleted.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">FOR /F "delims=" %%m IN ( 'FIND.EXE ":" "%1" 2^>NUL ^| FINDSTR.EXE /R "^[A-z]:[\\]" 2^>NUL' ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">    ECHO %%m>>deleted.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">)</font> </p> <p> <font face="Courier New" color="#808080" size="2">ECHO.>>deleted.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2"> </font> </p> <p> <font face="Courier New"> <font color="#808080"> <font size="2">后记Q鉴于很多病毒喜Ƣ往回收站里面钻Q通过查找真正被删除的文g列表Q找到对应的删除文gQ那么剩下的文g可以看着办了Q估计先要用IS杀掉进E?/font> <br /> <font size="2"> </font> </font> </font> </p> <img src ="http://m.tkk7.com/needjava/aggbug/136411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/needjava/" target="_blank">NeedJava</a> 2007-08-13 15:55 <a href="http://m.tkk7.com/needjava/archive/2007/08/13/136411.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔批处理〕处理重复图?/title><link>http://m.tkk7.com/needjava/archive/2007/07/31/133668.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Tue, 31 Jul 2007 14:51:00 GMT</pubDate><guid>http://m.tkk7.com/needjava/archive/2007/07/31/133668.html</guid><wfw:comment>http://m.tkk7.com/needjava/comments/133668.html</wfw:comment><comments>http://m.tkk7.com/needjava/archive/2007/07/31/133668.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/needjava/comments/commentRss/133668.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/needjava/services/trackbacks/133668.html</trackback:ping><description><![CDATA[ <p> <font face="Courier New" size="2">处理重复囄Q见</font> <a href="/needjava/archive/2007/07/30/133316.html"> <font face="Courier New" size="2">http://m.tkk7.com/needjava/archive/2007/07/30/133316.html</font> </a> <br /> <br /> <br /> <font face="Courier New" size="2">@ECHO OFF</font> </p> <p> <font face="Courier New" size="2">SETLOCAL EnableDelayedExpansion</font> </p> <p> <br /> <font face="Courier New" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 重复文g的手工处?br />::<br />:: 忽略开头ؓ“[”的行,没有用“eol=[”,因ؓ要每隔三ơ计数器清零Q防止相同文件过多打开q多<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:begin</font> </p> <p> <font face="Courier New" size="2">IF EXIST clone.txt (</font> </p> <p> <font face="Courier New" size="2">   SET /A num=0</font> </p> <p> <font face="Courier New" size="2">   FOR /F "delims=" %%b IN ( clone.txt ) DO (</font> </p> <p> <font face="Courier New" size="2">       SET "file=%%b"</font> </p> <p> <font face="Courier New" size="2">       IF NOT "!file!"=="" (</font> </p> <p> <font face="Courier New" size="2">          IF NOT "!file:~0,1!"=="[" (</font> </p> <p> <font face="Courier New" size="2">             IF !num! GTR 2 (</font> </p> <p> <font face="Courier New" size="2">                SET /A num=0</font> </p> <p> <font face="Courier New" size="2">                ECHO 本组完全相同的文件太多,按Q意键l箋打开三个…?br />                ECHO.</font> </p> <p> <font face="Courier New" size="2">                PAUSE>NUL</font> </p> <p> <font face="Courier New" size="2">             )</font> </p> <p> <font face="Courier New" size="2">             IF EXIST "!file!" (</font> </p> <p> <font face="Courier New" size="2">                EXPLORER.EXE /N, /SELECT, "!file!"</font> </p> <p> <font face="Courier New" size="2">                SET /A num=num+1 </font> </p> <p> <font face="Courier New" size="2">             )</font> </p> <p> <font face="Courier New" size="2">          ) ELSE (</font> </p> <p> <font face="Courier New" size="2">            IF !num! GTR 0 (</font> </p> <p> <font face="Courier New" size="2">               ECHO 上组完全相同的文件显C完毕?br />               ECHO.</font> </p> <p> <font face="Courier New" size="2">            )</font> </p> <p> <font face="Courier New" size="2">            SET /A num=0</font> </p> <p> <font face="Courier New" size="2">            ECHO 按Q意键打开下组三个完全相同的文件…?br />            ECHO.</font> </p> <p> <font face="Courier New" size="2">            PAUSE>NUL</font> </p> <p> <font face="Courier New" size="2">          )</font> </p> <p> <font face="Courier New" size="2">       )</font> </p> <p> <font face="Courier New" size="2">   )</font> </p> <p> <font face="Courier New" size="2">) ELSE (</font> </p> <p> <font face="Courier New" size="2">  GOTO :EOF</font> </p> <p> <font face="Courier New" size="2">)</font> </p> <p> <font face="Courier New" size="2">CLS</font> </p> <p> <font face="Courier New" size="2">ECHO 重新开始…?br />ECHO.</font> </p> <p> <font face="Courier New" size="2">GOTO begin</font> </p> <p> <font face="Courier New" size="2">@ECHO ON</font> </p> <p> <font face="Courier New" size="2"> </font> </p> <p> <font face="Courier New" size="2"> </font> </p> <img src ="http://m.tkk7.com/needjava/aggbug/133668.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/needjava/" target="_blank">NeedJava</a> 2007-07-31 22:51 <a href="http://m.tkk7.com/needjava/archive/2007/07/31/133668.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔批处理〕搜索重复图片,应该是最l版?/title><link>http://m.tkk7.com/needjava/archive/2007/07/30/133316.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Mon, 30 Jul 2007 05:20:00 GMT</pubDate><guid>http://m.tkk7.com/needjava/archive/2007/07/30/133316.html</guid><wfw:comment>http://m.tkk7.com/needjava/comments/133316.html</wfw:comment><comments>http://m.tkk7.com/needjava/archive/2007/07/30/133316.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/needjava/comments/commentRss/133316.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/needjava/services/trackbacks/133316.html</trackback:ping><description><![CDATA[ <p> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: Name: 搜烦重复囄Q或其他Lcd、大的文gQ对0字节的也比较Q?br />::<br />:: Author: NeedJava<br />::<br />:: Modified: 2007-07-30<br />::<br />:: 注意Q你可以在Q何地方用此批处理,但必M持文件作者及注释部分的完?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />@ECHO OFF</font> </p> <p> <font face="Courier New" color="#808080" size="2">SETLOCAL EnableDelayedExpansion</font> </p> <p> <font face="Courier New" color="#808080" size="2">ECHO 搜烦重复的图片,按Q意键l箋?br />ECHO.</font> </p> <p> <font face="Courier New" color="#808080" size="2">PAUSE>NUL</font> </p> <p> <font face="Courier New" color="#808080" size="2">DEL /F /Q hash.txt 2>NUL<br />DEL /F /Q sort.txt 2>NUL<br />DEL /F /Q clone.txt 2>NUL<br />DEL /F /Q lost.txt 2>NUL</font> </p> <p> <font face="Courier New" color="#808080" size="2">RD /S /Q "Clone\" 2>NUL & MD "Clone\" 2>NUL</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 生成“文件大|文g路径”,再排序,内容诸如Q?br />::<br />:: 25329|C:\Documents and Settings\Administrator\桌面\02.jpg<br />::<br />:: 把文件大加?00000000Q即100MBQ这h便SORT命o比较大小Q那么内容变成如下:<br />::<br />:: 100025329|C:\Documents and Settings\Administrator\桌面\02.jpg<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />CLS</font> </p> <p> <font face="Courier New" color="#808080" size="2">ECHO 正在搜烦文gQ请E候…?br />ECHO.</font> </p> <p> <font face="Courier New" color="#808080" size="2">FOR /R %%a IN ( *.jpg ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">    SET /A size=%%~za+100000000</font> </p> <p> <font face="Courier New" color="#808080" size="2">    ECHO !size!^|%%a>>hash.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">)</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: Ҏ列表每行前面所列出的文件大进行排?br />::<br />:: 把文件大加?00000000Q即100MBQ这h便SORT命o比较大小<br />::<br />:: 否则SORT会给我们??23?235??1?”这L序<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />CLS</font> </p> <p> <font face="Courier New" color="#808080" size="2">ECHO 正在排序文gQ请E候…?br />ECHO.</font> </p> <p> <font face="Courier New" color="#808080" size="2">IF EXIST hash.txt (</font> </p> <p> <font face="Courier New" color="#808080" size="2">   SORT /R hash.txt /O sort.txt 2>NUL</font> </p> <p> <font face="Courier New" color="#808080" size="2">)</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 把大相同的文g分离成一个个单独的文Ӟ方便后面的相互比?br />::<br />:: 我不认ؓ需要对5MB以上的图片文件进行二q制比较Q它们够昄的了<br />::<br />:: 只有大小一h需要作q一步的二进制比较,否则是搞笑?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />CLS</font> </p> <p> <font face="Courier New" color="#808080" size="2">ECHO 正在分离文gQ请E候…?br />ECHO.</font> </p> <p> <font face="Courier New" color="#808080" size="2">IF EXIST sort.txt (</font> </p> <p> <font face="Courier New" color="#808080" size="2">   SET "preSize="</font> </p> <p> <font face="Courier New" color="#808080" size="2">   SET "preFile="</font> </p> <p> <font face="Courier New" color="#808080" size="2">   FOR /F "tokens=1,2 delims=|" %%a IN ( sort.txt ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">       SET /A curSize=%%a-100000000</font> </p> <p> <font face="Courier New" color="#808080" size="2">       SET "curFile=%%b"</font> </p> <p> <font face="Courier New" color="#808080" size="2">       IF NOT "!preFile!"=="" IF !preSize! LEQ 5000000 (</font> </p> <p> <font face="Courier New" color="#808080" size="2">          IF !preSize! EQU !curSize! (</font> </p> <p> <font face="Courier New" color="#808080" size="2">             IF /I NOT "!always!"=="true" ( </font> </p> <p> <font face="Courier New" color="#808080" size="2">                ECHO !preSize!^|!preFile!>"Clone\!preSize!.vab"</font> </p> <p> <font face="Courier New" color="#808080" size="2">                SET "always=true"</font> </p> <p> <font face="Courier New" color="#808080" size="2">             )</font> </p> <p> <font face="Courier New" color="#808080" size="2">             ECHO !curSize!^|!curFile!>>"Clone\!preSize!.vab"</font> </p> <p> <font face="Courier New" color="#808080" size="2">          ) ELSE (</font> </p> <p> <font face="Courier New" color="#808080" size="2">            SET "always=false"</font> </p> <p> <font face="Courier New" color="#808080" size="2">          )</font> </p> <p> <font face="Courier New" color="#808080" size="2">       )</font> </p> <p> <font face="Courier New" color="#808080" size="2">       SET /A preSize=!curSize!</font> </p> <p> <font face="Courier New" color="#808080" size="2">       SET "preFile=!curFile!"</font> </p> <p> <font face="Courier New" color="#808080" size="2">   )</font> </p> <p> <font face="Courier New" color="#808080" size="2">)</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 微Y一些DOS命o的搞WBUGQ?br />::<br />:: FCQ名U的字数过185个的文g夹不予理?br />::<br />:: DIRQ把路径中的一些Unicode码(?0FBQ用半角问号?”代替,C本也如此<br />::<br />:: FOR /RQ不但把Unicode码(?0FBQ用半角问号?”代替,q会删除路径中的?”和“^?br />::<br />:: 以上q些微YBUGQɘq个批处理也有了BUGQ\径中不能有?”、“^”和一些Unicode?br />::<br />::<br />:: FC命oq回代码含义Q?br />::<br />:: 0   完全相同<br />::<br />:: 1   不完全同<br />::<br />:: 2   ~少文g<br />::<br />::<br />:: FIND命oq回代码含义Q?br />::<br />:: 0   扑ֈ字符?br />::<br />:: 1   没有扑ֈ字符?br />::<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:reload</font> </p> <p> <font face="Courier New" color="#808080" size="2">IF EXIST "Clone\" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">   FOR /R "Clone\" %%a IN ( *.vab ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">       SET "list=Clone\%%~nxa"</font> </p> <p> <font face="Courier New" color="#808080" size="2">       SET /A num=1</font> </p> <p> <font face="Courier New" color="#808080" size="2">       GOTO cycle</font> </p> <p> <font face="Courier New" color="#808080" size="2">   )</font> </p> <p> <font face="Courier New" color="#808080" size="2">)</font> </p> <p> <font face="Courier New" color="#808080" size="2">GOTO delete</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 原理Q?br />::<br />:: 假设有DATA[A B C D B A A]q个7位数l需要自w比较,按照正常的方法,如下Q?br />::<br />:: for( int i=0; i<n-1; i++ )<br />::    {<br />::      for( int j=i+1; j<n; j++ )<br />::         {<br />::           compare DATA[i] DATA[j]...<br />::         }<br />::    }<br />::<br />:: 需要比较N*(N-1)/2ơ,?*(7-1)/2=21ơ,如下Q?br />::<br />:: [A B]、[A C]、[A D]、[A B]、[A A]、[A A]<br />::<br />:: [B C]、[B D]、[B B]、[B A]、[B A]<br />::<br />:: [C D]、[C B]、[C A]、[C A]<br />::<br />:: [D B]、[D A]、[D A]<br />::<br />:: [B A]、[B A]<br />::<br />:: [A A]<br />::<br />:: 但是从上面的列表可以发现Q有些已l被定和某个数相同的数Q如[A]和[B]两类Q?br />::<br />:: 在后面依然和别的数l比较,q是不科学的Q应该在扑ֈ相同cdQ删除它们?br />::<br />:: 也就是说Q一旦找到相同的c,把它们剔除出@环,那么循环应该如下Q?br />::<br />:: A B C D B A A<br />::<br />:: W一ơ@环找出所有相同的[A]后,待比较列表动态变为:<br />::<br />:: B C D B<br />::<br />:: W二ơ@环找出所有相同的[B]后,待比较列表动态变为:<br />::<br />:: C D<br />::<br />:: 如上Q那么比较ؓQ?br />::<br />:: [A B]、[A C]、[A D]、[A B]、[A A]、[A A]<br />::<br />:: [B C]、[B D]、[B B]、[BXA]、[BXA]<br />::<br />:: [C D]、[CXB]、[CXA]、[CXA]<br />::<br />:: [DXB]、[DXA]、[DXA]<br />::<br />:: [BXA]、[BXA]<br />::<br />:: [AXA]<br />::<br />:: 中间有X的表C已被羃减的Q即最l比较ؓQ?br />::<br />:: [A B]、[A C]、[A D]、[A B]、[A A]、[A A]<br />::<br />:: [B C]、[B D]、[B B]<br />::<br />:: [C D]<br />::<br />:: 整个批处理原理:<br />::<br />:: 1、FOR命o通过%%~za生成零散的,每列开头ؓ文g大小的文件列表hash.txtQ如Q?br />::<br />::    100017000|E:\123.jpg<br />::    100017000|E:\345.jpg<br />::    100056732|E:\ffff.jpg<br />::    100017000|E:\OK\123.jpg<br />::    100056732|E:\OK\ffff.jpg<br />::    100012345|E:\OK\gag.jpg<br />::<br />:: 2、SORT命ohash.txt从大到小Q当然也可以从小到大Q排序成sort.txtQ如Q?br />::<br />::    100056732|E:\ffff.jpg<br />::    100056732|E:\OK\ffff.jpg<br />::    100017000|E:\123.jpg<br />::    100017000|E:\345.jpg<br />::    100017000|E:\OK\123.jpg<br />::    100012345|E:\OK\gag.jpg<br />::<br />:: 3、分析sort.txt列表文gQ如果有两行以上大小相同的纪录,分离到同一个新列表文gQ?br />::<br />::    文g名:Clone\56732.vabQ内容如下:<br />::    100056732|E:\ffff.jpg<br />::    100056732|E:\OK\ffff.jpg<br />::<br />::    文g名:Clone\17000.vabQ内容如下:<br />::    100017000|E:\123.jpg<br />::    100017000|E:\345.jpg<br />::    100017000|E:\OK\123.jpg<br />::<br />:: 4、通过双层嵌套FOR命oQ进行比较,相同的纪录进clone.txtQ也是最l文Ӟ<br />::<br />::    不相同的则纪录进新的文gcomparedN.vabQ此处N为数????Q如果不删除Q?br />::<br />::    可以看到动态的待比较列表,用于调试?br />::<br />::    一旦生成了comparedN.vab文gQ就表示有未比较的文Ӟ则将待比较列表list设成<br />::<br />::    最新的comparedN.vab文gQƈ且蟩转到双层嵌套FOR命o开头cycleQ重新@环?br />::<br />::    一旦待比较列表list消失Q则表明此类大小的文件比较完毕,跌{到reloadQ分析下<br />::<br />::    一个大的文g列表?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:cycle</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM TYPE !list! & PAUSE</font> </p> <p> <font face="Courier New" color="#808080" size="2">IF EXIST !list! (</font> </p> <p> <font face="Courier New" color="#808080" size="2">   FOR /F "tokens=1,2 delims=|" %%M IN ( !list! ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">       SET "found=false"</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM    ::<br />REM    :: 我们分析的文件内Ҏ用“|”分隔的Q如下:<br />REM    ::<br />REM    :: 56732|E:\ffff.jpg<br />REM    ::<br />REM    :: tokens=1,2 delims=|会把内容分割成两部分Q即56732和E:\ffff.jpg<br />REM    ::<br />REM    :: W一个部分用变量%%m表示Q也是文g大小56732<br />REM    ::<br />REM    :: W二个部分用变量%%n表示Q也是文g完整的\径E:\ffff.jpg<br />REM    ::<br />REM    :: skip=1表示跌一行,用来防止自n比较。当然ؓ了稳妥,下面q是用了判断<br />REM    ::<br />REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />       FOR /F "skip=1 tokens=1,2 delims=|" %%m IN ( !list! ) DO (</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM        ::<br />REM        :: 必须是大相同的文g才能比较。不是必要,但稳妥v见还是判断一?br />REM        ::<br />REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />           IF /I "%%M"=="%%m" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM           ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM           ::<br />REM           :: 不能自己跟自己比较。虽然上面用skip=1跌Q但E_赯q是判断一?br />REM           ::<br />REM           ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />              IF /I NOT "%%N"=="%%n" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">                 CLS</font> </p> <p> <font face="Courier New" color="#808080" size="2">                 ECHO 正在比较以下%%M字节的两个文Ӟ<br />                 ECHO %%N<br />                 ECHO %%n<br />                 ECHO.</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM              PAUSE</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM              ::<br />REM              :: ҎFC命o用二q制比较Q所q回的错误码来判断两个文件是否相?br />REM              ::<br />REM              :: Windows 2000下FC命o有问题,所以Windows 2000不能使用此批处理<br />REM              ::<br />REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                 FC.EXE /B "%%N" "%%n">NUL 2>NUL</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM              ::<br />REM              :: 两个文g比较后完全相同,FC命o会返?<br />REM              ::<br />REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                 IF !ERRORLEVEL! EQU 0 (</font> </p> <p> <font face="Courier New" color="#808080" size="2">                    ECHO 两个文g完全相同Q?br />                    ECHO.</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM                 PAUSE</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM                 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM                 ::<br />REM                 :: 如果!found!为trueQ就表示在比较@环中Q遇CW一ơ相?br />REM                 ::<br />REM                 :: 用于在找到的列表clone.txt中写入新的标?br />REM                 ::<br />REM                 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                    IF /I NOT "!found!"=="true" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">                       ECHO [%%M Bytes]>>clone.txt<br />                       ECHO %%N>>clone.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">                       SET "found=true"</font> </p> <p> <font face="Courier New" color="#808080" size="2">                    )</font> </p> <p> <font face="Courier New" color="#808080" size="2">                    ECHO %%n>>clone.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">                 )</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM              ::<br />REM              :: 两个文g比较后不相同QFC命o会返?<br />REM              ::<br />REM              :: 把不相同的文件写入下一个待比较列表<br />REM              ::<br />REM              :: q个列表取代现有列表用于下ơ@?br />REM              ::<br />REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                 IF !ERRORLEVEL! EQU 1 (</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM                 ECHO %%n & ECHO. & PAUSE</font> </p> <p> <font face="Courier New" color="#808080" size="2">                    ECHO %%m^|%%n>>"compared!num!.vab"</font> </p> <p> <font face="Courier New" color="#808080" size="2">                 )</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM              ::<br />REM              :: 找不到相应的文gӞFC命o会返?<br />REM              ::<br />REM              :: ׃FOR /R命o得出的\径,会删除\径中的?”和“^”,<br />REM              ::<br />REM              :: q会D虽然待比较列表有路径Q错误的Q,然而FC命o却找不到<br />REM              ::<br />REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                 IF !ERRORLEVEL! EQU 2 (</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM                 ECHO %%n & ECHO. & PAUSE</font> </p> <p> <font face="Courier New" color="#808080" size="2">                    IF NOT EXIST "%%N" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">                       ECHO %%M^|%%N>>lost.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">                    )</font> </p> <p> <font face="Courier New" color="#808080" size="2">                    IF NOT EXIST "%%n" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">                       ECHO %%m^|%%n>>lost.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">                    )</font> </p> <p> <font face="Courier New" color="#808080" size="2">                 )</font> </p> <p> <font face="Courier New" color="#808080" size="2">              )</font> </p> <p> <font face="Courier New" color="#808080" size="2">           )</font> </p> <p> <font face="Courier New" color="#808080" size="2">       )</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM    ::<br />REM    :: 如果!found!为trueQ就表示在这ơ@环中扑ֈ了相同文?br />REM    ::<br />REM    :: 那么针对q次循环的结束,在找到的列表clone.txt中追加一个空行,用来分隔<br />REM    ::<br />REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />       IF /I "!found!"=="true" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">          ECHO.>>clone.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">       )</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM    ::<br />REM    :: 删除现有的待比较列表Q必d除,否则会陷入死循环<br />REM    ::<br />REM    :: q也是蟩出@环的判断条gQvery important!<br />REM    ::<br />REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />       DEL /F /Q "!list!" 2>NUL</font> </p> <p> <font face="Courier New" color="#808080" size="2">REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM    ::<br />REM    :: 如果刚才的@环,有一些文件不相同Q就会存在新的待比较列表<br />REM    ::<br />REM    :: 我们把它设ؓ新的待比较列表,准备跌{到@环开_重新循环<br />REM    ::<br />REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />       IF EXIST "compared!num!.vab" (</font> </p> <p> <font face="Courier New" color="#808080" size="2">          SET "list=compared!num!.vab"</font> </p> <p> <font face="Courier New" color="#808080" size="2">          SET /A num+=1</font> </p> <p> <font face="Courier New" color="#808080" size="2">       ) ELSE (</font> </p> <p> <font face="Courier New" color="#808080" size="2">         GOTO reload</font> </p> <p> <font face="Courier New" color="#808080" size="2">       )</font> </p> <p> <font face="Courier New" color="#808080" size="2">       GOTO cycle</font> </p> <p> <font face="Courier New" color="#808080" size="2">   )</font> </p> <p> <font face="Courier New" color="#808080" size="2">)</font> </p> <p> <br /> <font face="Courier New" color="#808080" size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 删除用过的文?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:delete</font> </p> <p> <font face="Courier New" color="#808080" size="2">DEL /F /Q hash.txt 2>NUL<br />DEL /F /Q sort.txt 2>NUL</font> </p> <p> <font face="Courier New" color="#808080" size="2">RD /S /Q "Clone\" 2>NUL</font> </p> <p> <font face="Courier New" color="#808080" size="2">IF EXIST clone.txt %SystemRoot%\NOTEPAD.EXE clone.txt</font> </p> <p> <font face="Courier New" color="#808080" size="2">@ECHO ON</font> </p> <img src ="http://m.tkk7.com/needjava/aggbug/133316.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/needjava/" target="_blank">NeedJava</a> 2007-07-30 13:20 <a href="http://m.tkk7.com/needjava/archive/2007/07/30/133316.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔Windows〕用regini.exe修改注册表及注册表权?/title><link>http://m.tkk7.com/needjava/archive/2007/07/25/132382.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Wed, 25 Jul 2007 12:10:00 GMT</pubDate><guid>http://m.tkk7.com/needjava/archive/2007/07/25/132382.html</guid><wfw:comment>http://m.tkk7.com/needjava/comments/132382.html</wfw:comment><comments>http://m.tkk7.com/needjava/archive/2007/07/25/132382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/needjava/comments/commentRss/132382.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/needjava/services/trackbacks/132382.html</trackback:ping><description><![CDATA[ <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">使用regini.exe修改注册?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">一Q如何得到regini.exe </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">在Windows XP安装光盘中(其他版本的自p试)Q找到I386目录下的regini.ex_文gQ用expand.exe命o提取出regini.exeQ命令如下: </font> </p> <p style="FONT-FAMILY: Courier"> <font size="2"> <font face="Courier New" color="#808080">"%SystemRoot%\System32\EXPAND.EXE" </font> <font face="Courier New" color="#808080">"\\?\CDROM0\I386\REGINI.EX_"</font> <font face="Courier New" color="#808080">"C:\regini.exe"</font> </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">然后从C盘下生成的regini.exe文g复制C需要的地方?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Q不要从非信ȝ|站下蝲regini.exe?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">二、简单D?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">先打开regedit.exeQ以便观看每步生的变化Q将如下内容复制到记事本中,保存为example01.txt、example02.txt文gQ然后用如下命oQ?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">REGINI.EXE example01.txt </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">REGINI.EXE example02.txt </font> </p> <p style="FONT-FAMILY: Courier"> <br /> <font face="Courier New" color="#808080" size="2">::::::: example01.txt :::::::::: 不要复制我,我是分割U开?:::::::::::::::::::: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">HKEY_CURRENT_USER\example0 </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">HKEY_CURRENT_USER\example0<br />"example1" = REG_DWORD 1 </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">HKEY_CURRENT_USER\example0<br />"example2" = REG_SZ "This is an example!" </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">HKEY_CURRENT_USER\example0<br />"example3" = REG_MULTI_SZ "This is the first line!" "This is the second line!" "This is the third line!" </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">HKEY_CURRENT_USER\example0<br />"example4" = REG_EXPAND_SZ "This is an example! This is an example! This is an example! This is an example! This is an example!" </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">::::::: example01.txt :::::::::: 不要复制我,我是分割U结?:::::::::::::::::::: </font> </p> <p style="FONT-FAMILY: Courier"> <br /> <font face="Courier New" color="#808080" size="2">::::::: example02.txt :::::::::: 不要复制我,我是分割U开?:::::::::::::::::::: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">HKEY_CURRENT_USER\example0 [2 8 19] </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">::::::: example02.txt :::::::::: 不要复制我,我是分割U结?:::::::::::::::::::: </font> </p> <p style="FONT-FAMILY: Courier"> <br /> <font face="Courier New" color="#808080" size="2">修改W一个脚本,再运行试试: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">REGINI.EXE example01.txt </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">没反应,看来已经起作用了Q键值变成只ȝ了! </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">三、权限代码表 </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> 1  - Administrators 完全讉K<br /> 2  - Administrators d讉K<br /> 3  - Administrators d、写入访?br /> 4  - Administrators d、写入、删除访?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> 5  - Creator 完全讉K<br /> 6  - Creator d、写入访?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> 7  - everyone 完全讉K<br /> 8  - everyone d讉K<br /> 9  - everyone d、写入访?br /> 10 - everyone d、写入、删除访?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> 11 - Power Users 完全讉K<br /> 12 - Power Users d、写入访?br /> 13 - Power Users d、写入、删除访?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> 14 - System Operators 完全讉K<br /> 15 - System Operators d、写入访?br /> 16 - System Operators d、写入、删除访?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> 17 - System 完全讉K<br /> 18 - System d、写入访?br /> 19 - System d讉K </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> 20 - Administrators d、写入、执行访?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> 21 - Interactive User 完全讉K<br /> 22 - Interactive User d、写入访?br /> 23 - Interactive User d、写入、删除访?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">四、运用在哪里 </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">装好pȝ、杀毒Y件后Q删除一些服务键、修改一些自启动键、文件关联键的权限等{。但是话又说回来了, </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">既然我们可以L的修Ҏ限,那么病毒也可以修改回去,防范的方法是转移regini.exe文gQ再利用注册表监Y件?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">某个注册表监测软g改个名称Q最好再加个壻I不是防杀毒YӞ而是防病毒恶意终止)Q加在服务中Q一旦有修改报警?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2"> </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">五、英文帮?</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">q部分是从网站找的,作者不详,仅供参考: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Usage: REGINI [-m machinename | -h hivefile hiveroot | -w Win95 Directory] [-i n] [-o outputWidth] [-b] textFiles... </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">-m specifies a remote windows NT machine whose registry is to be manipulated. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">-h specifies a specify local hive to manipulate. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">-w specifies the paths to a windows 95 system.dat and user.dat files </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">-i n specifies the display indentation multiple. Default is 4 </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">-o outputWidth specifies how wide the output is to be. By default the outputWidth is set to<br />   the width of the console window if standard output has not been redirected to a file.<br />   In the latter case, an outputWidth of 240 is used. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">-b specifies that REGINI should be backward compatible with older versions of REGINI that <br />   did not strictly enforce line continuations and quoted strings Specifically, REG_BINARY,<br />   REG_RESOURCE_LIST and REG_RESOURCE_REQUIREMENTS_LIST data types did not need line<br />   continuations after the first number that gave the size of the data.<br />   It just kept looking on following lines until it found enough data values to equal the<br />   data length or hit invalid input. Quoted strings were only allowed in REG_MULTI_SZ.<br />   They could not be specified around key or value names, or around values for REG_SZ or<br />   REG_EXPAND_SZ Finally, the old REGINI did not support the semicolon as an end of line<br />   comment character. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">textFiles is one or more ANSI or Unicode text files with registry data. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">The easiest way to understand the format of the input textFile is to use the REGDMP<br />command with no arguments to dump the current contents of your NT Registry to standard<br />out. Redirect standard out to a file and this file is acceptable as input to REGINI </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Some general rules are:<br />Semicolon character is an end-of-line comment character, provided it is the first<br />non-blank character on a line </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Backslash character is a line continuation character. All characters from the backslash<br />up to but not including the first non-blank character of the next line are ignored.<br />If there is more than one space before the line continuation character, it is replaced<br />by a single space. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Indentation is used to indicate the tree structure of registry keys. The REGDMP program<br />uses indentation in multiples of 4. You may use hard tab characters for indentation,<br />but embedded hard tab characters are converted to a single space regardless of their<br />position.<br /><br /></font> <font face="Courier New" color="#808080" size="2">Values should come before child keys, as they are associated with the previous key at<br />or above the value's indentation level.</font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">For key names, leading and trailing space characters are ignored and not included in<br />the key name, unless the key name is surrounded by quotes. Imbedded spaces are part of<br />a key name. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Key names can be followed by an Access Control List (ACL) which is a series of decimal<br />numbers, separated by spaces, bracketed by a square brackets (e.g. [8 4 17]).<br />The valid numbers and their meanings are: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">1  - Administrators Full Access<br />2  - Administrators Read Access<br />3  - Administrators Read and Write Access<br />4  - Administrators Read, Write and Delete Access<br />5  - Creator Full Access<br />6  - Creator Read and Write Access<br />7  - World Full Access<br />8  - World Read Access<br />9  - World Read and Write Access<br />10 - World Read, Write and Delete Access<br />11 - Power Users Full Access<br />12 - Power Users Read and Write Access<br />13 - Power Users Read, Write and Delete Access<br />14 - System Operators Full Access<br />15 - System Operators Read and Write Access<br />16 - System Operators Read, Write and Delete Access<br />17 - System Full Access<br />18 - System Read and Write Access<br />19 - System Read Access<br />20 - Administrators Read, Write and Execute Access<br />21 - Interactive User Full Access<br />22 - Interactive User Read and Write Access<br />23 - Interactive User Read, Write and Delete Access </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">If there is an equal sign on the same line as a left square bracket then the equal<br />sign takes precedence, and the line is treated as a registry value. If the text<br />between the square brackets is the string DELETE with no spaces, then REGINI will<br />delete the key and any values and keys under it. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">For registry values, the syntax is: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">value Name = type data </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Leading spaces, spaces on either side of the equal sign and spaces between the type<br />keyword and data are ignored, unless the value name is surrounded by quotes. If the<br />text to the right of the equal sign is the string DELETE, then REGINI will delete the<br />value. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">The value name may be left off or be specified by an at-sign character which is the<br />same thing, namely the empty value name. So the following two lines are identical: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">= type data<br />@ = type data </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">This syntax means that you can't create a value with leading or trailing spaces,<br />an equal sign or an at-sign in the value name, unless you put the name in quotes. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Valid value types and format of data that follows are: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">REG_SZ text<br />REG_EXPAND_SZ text<br />REG_MULTI_SZ "string1" "string2" ...<br />REG_DATE mm/dd/yyyy HH:MM DayOfWeek<br />REG_DWORD numberDWORD<br />REG_BINARY numberOfBytes numberDWORD(s)...<br />REG_NONE (same format as REG_BINARY)<br />REG_RESOURCE_LIST (same format as REG_BINARY)<br />REG_RESOURCE_REQUIREMENTS (same format as REG_BINARY)<br />REG_RESOURCE_REQUIREMENTS_LIST (same format as REG_BINARY)<br />REG_FULL_RESOURCE_DESCRIPTOR (same format as REG_BINARY)<br />REG_QWORD numberQWORD<br />REG_MULTISZ_FILE fileName<br />REG_BINARYFILE fileName </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">If no value type is specified, default is REG_SZ </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">For REG_SZ and REG_EXPAND_SZ, if you want leading or trailing spaces in the value<br />text, surround the text with quotes. The value text can contain any number of<br />imbedded quotes, and REGINI will ignore them, as it only looks at the first and<br />last character for quote characters. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">For REG_MULTI_SZ, each component string is surrounded by quotes. If you want an<br />imbedded quote character, then double quote it, as in string2 above. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">For REG_BINARY, the value data consists of one or more numbers. The default base<br />for numbers is decimal.<br />Hexidecimal may be specified by using 0x prefix. The first number is the number<br />of data bytes, excluding the first number. After the first number must come enough<br />numbers to fill the value.<br />Each number represents one DWORD or 4 bytes. So if the first number was 0x5 you<br />would need two more numbers after that to fill the 5 bytes. The high order 3 bytes<br />of the second DWORD would be ignored. </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Whenever specifying a registry path, either on the command line or in an input file,<br />the following prefix strings can be used: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">HKEY_LOCAL_MACHINE<br />HKEY_USERS<br />HKEY_CURRENT_USER<br />USER: </font> </p> <p style="FONT-FAMILY: Courier"> <font face="Courier New" color="#808080" size="2">Each of these strings can stand alone as the key name or be followed a backslash<br />and a subkey path. </font> <br /> <font face="Courier New" color="#808080" size="2">  </font> </p> <img src ="http://m.tkk7.com/needjava/aggbug/132382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/needjava/" target="_blank">NeedJava</a> 2007-07-25 20:10 <a href="http://m.tkk7.com/needjava/archive/2007/07/25/132382.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔批处理〕搜索重复的囄Q搜索重复的文gQ也可以说是L大小、类型的文gQ?/title><link>http://m.tkk7.com/needjava/archive/2007/07/08/128926.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Sun, 08 Jul 2007 13:40:00 GMT</pubDate><guid>http://m.tkk7.com/needjava/archive/2007/07/08/128926.html</guid><wfw:comment>http://m.tkk7.com/needjava/comments/128926.html</wfw:comment><comments>http://m.tkk7.com/needjava/archive/2007/07/08/128926.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/needjava/comments/commentRss/128926.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/needjava/services/trackbacks/128926.html</trackback:ping><description><![CDATA[ <p style="FONT-FAMILY: Courier New"> <font size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: Author: NeedJava <br />::<br />:: Modified: 2007-07-07<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />@ECHO OFF</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">SETLOCAL EnableDelayedExpansion</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">ECHO 搜烦重复的图片,按Q意键l箋?/font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">PAUSE>NUL</font> </p> <p style="FONT-FAMILY: Courier New"> <br /> <font size="2">DEL /F /Q list.txt 2>NUL</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">DEL /F /Q sorted.txt 2>NUL</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">DEL /F /Q clone.txt 2>NUL<br /><br /><br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 生成“文件大|文g路径”,再排序,内容诸如Q?br />::<br />:: 25329|C:\Documents and Settings\Administrator\桌面\02.jpg<br />::<br />:: 我把文g大小加上100000000Q即100MBQ这h便SORT命o比较大小Q那么内容变成如下:<br />::<br />:: 100025329|C:\Documents and Settings\Administrator\桌面\02.jpg<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />FOR /R %%a IN ( *.jpg ) DO SET /A size=%%~za+100000000 & ECHO !size!^|%%a>>list.txt</font> </p> <p style="FONT-FAMILY: Courier New"> <br /> <font size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: Ҏ列表每行前面所列出的文件大进行排?br />::<br />:: 我把文g大小加上100000000Q即100MBQ这h便SORT命o比较大小<br />::<br />:: 否则SORT会给我??23?235??1?”这L序<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />SORT /R list.txt /O sorted.txt 2>NUL</font> </p> <p style="FONT-FAMILY: Courier New"> <br /> <font size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 我不认ؓ需要对5MB以上的图片文件进行二q制比较Q它们够昄的了<br />::<br />:: 只有大小一h需要作q一步的二进制比较,否则是搞笑?br />::<br />::<br />:: FC搞笑Q名U字数超q?85个的文g夹不予理?br />::<br />:: DIR搞笑Q会把\径中的一些Unicode码(?0FBQ用半角问号?”代替,C本也如此<br />::<br />:: FOR /R搞笑Q不但会把Unicode码(?0FBQ用半角问号?”代替,q会把\径中的?”、“^”删?br />::<br />:: 以上q些微Y的搞WBUGQ得我的这个批处理也跟着有了BUGQ\径中不能有?”、“^”和一些Unicode?br />::<br />::<br />:: FC命oq回代码含义Q?br />::<br />:: 0   完全相同<br />::<br />:: 1   不完全同<br />::<br />:: 2   ~少文g<br />::<br />::<br />:: FIND命oq回代码含义Q?br />::<br />:: 0   扑ֈ字符?br />::<br />:: 1   没有扑ֈ字符?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />SET preSize=</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">SET preFile=</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">FOR /F "tokens=1,2 delims=|" %%a IN ( sorted.txt ) DO (</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">    SET /A curSize=%%a-100000000</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">    SET curFile=%%b</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">    ECHO ========================================================================<br />    ECHO.<br />    ECHO 上个文g大小Q?preSize!<br />    ECHO.<br />    ECHO 当前文g大小Q?curSize!<br />    ECHO.<br />    ECHO 上个文g路径Q?preFile!<br />    ECHO.<br />    ECHO 当前文g路径Q?curFile!<br />    ECHO.</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">    IF NOT "!preFile!"=="" IF !preSize! LEQ 5000000 (</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">       IF !preSize! EQU !curSize! (</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">          FC.EXE /B "!preFile!" "!curFile!">NUL</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">          IF !ERRORLEVEL! EQU 0 (</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">             ECHO 两个文g完全相同Q?br />             ECHO.</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">             IF /I NOT "!always!"=="true" ( </font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">                ECHO.>>clone.txt</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">                ECHO !preSize!字节>>clone.txt</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">                ECHO !preFile!>>clone.txt</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">                SET always=true</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">             )</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">             ECHO !curFile!>>clone.txt</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">          )</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">       ) ELSE (</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">         SET always=false</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">       )</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">    )</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">    SET /A preSize=!curSize!</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">    SET preFile=!curFile!</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">)</font> </p> <p style="FONT-FAMILY: Courier New"> <br /> <font size="2">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 删除用过的文件等l尾工作<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />DEL /F /Q list.txt 2>NUL</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">DEL /F /Q sorted.txt 2>NUL</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">@ECHO ON<br /><br />最q要在Win2000下工作,发现Win2000Q没打SP4Q提供的FC.EXE命o有问题,不论是在Shell下还是在批处理,一些大一L囄Q比较的l果都是?ERRORLEVEL%?Q也是相同Q大家有兴趣可以试试下面两个文gQ注意,把jpgҎgif的?br /><br /><img src="http://m.tkk7.com/images/blogjava_net/needjava/21487/o_企?gif" border="0" /><br /><img height="120" src="http://m.tkk7.com/images/blogjava_net/needjava/21487/o_c鼠.gif" width="100" border="0" /><br /><br /><br />׃上述比较只是假设同种文g的复本,没有考虑同样大小文g的干扎ͼ按习惯,应该一一比较Q如????〕,需要比较??〕、??〕、??〕、??〕、??〕、??〕这几组Q如下:<br /><br />假设相同文g有n个,理想FOR命o如下Q?br /><br />for( int i=1; i<n; i++ )<br />   {<br />     for( int j=i+1; j<=n; j++ )<br />        {<br />          compare i and j...<br />        )<br />   }<br /><br />但是FOR命o的局限,很难做到Q所以自׃在考虑更好的办法,如下是第二次改进Q?br /><br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: Name: 搜烦重复囄Q或其他Lcd、大的文gQ对0字节的也比较Q?br />::<br />:: Author: NeedJava<br />::<br />:: Modified: 2007-07-30<br />::<br />:: 注意Q你可以在Q何地方用此批处理,但必M持文件作者及注释部分的完?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />@ECHO OFF</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">SETLOCAL EnableDelayedExpansion</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">ECHO 搜烦重复的图片,按Q意键l箋?br />ECHO.</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">PAUSE>NUL</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">DEL /F /Q hash.txt 2>NUL<br />DEL /F /Q sort.txt 2>NUL<br />DEL /F /Q clone.txt 2>NUL<br />DEL /F /Q lost.txt 2>NUL</font> </p> <p style="FONT-FAMILY: Courier New"> <font size="2">RD /S /Q "Clone\" 2>NUL & MD "Clone\" 2>NUL</font> </p> <font size="2"> <p style="FONT-FAMILY: Courier New"> <br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 生成“文件大|文g路径”,再排序,内容诸如Q?br />::<br />:: 25329|C:\Documents and Settings\Administrator\桌面\02.jpg<br />::<br />:: 把文件大加?00000000Q即100MBQ这h便SORT命o比较大小Q那么内容变成如下:<br />::<br />:: 100025329|C:\Documents and Settings\Administrator\桌面\02.jpg<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />CLS</p> <p style="FONT-FAMILY: Courier New">ECHO 正在搜烦文gQ请E候…?br />ECHO.</p> <p style="FONT-FAMILY: Courier New">FOR /R %%a IN ( *.jpg ) DO (</p> <p style="FONT-FAMILY: Courier New">    SET /A size=%%~za+100000000</p> <p style="FONT-FAMILY: Courier New">    ECHO !size!^|%%a>>hash.txt</p> <p style="FONT-FAMILY: Courier New">)</p> <p style="FONT-FAMILY: Courier New"> <br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: Ҏ列表每行前面所列出的文件大进行排?br />::<br />:: 把文件大加?00000000Q即100MBQ这h便SORT命o比较大小<br />::<br />:: 否则SORT会给我们??23?235??1?”这L序<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />CLS</p> <p style="FONT-FAMILY: Courier New">ECHO 正在排序文gQ请E候…?br />ECHO.</p> <p style="FONT-FAMILY: Courier New">IF EXIST hash.txt (</p> <p style="FONT-FAMILY: Courier New">   SORT /R hash.txt /O sort.txt 2>NUL</p> <p style="FONT-FAMILY: Courier New">)</p> <p style="FONT-FAMILY: Courier New"> <br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 把大相同的文g分离成一个个单独的文Ӟ方便后面的相互比?br />::<br />:: 我不认ؓ需要对5MB以上的图片文件进行二q制比较Q它们够昄的了<br />::<br />:: 只有大小一h需要作q一步的二进制比较,否则是搞笑?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />CLS</p> <p style="FONT-FAMILY: Courier New">ECHO 正在分离文gQ请E候…?br />ECHO.</p> <p style="FONT-FAMILY: Courier New">IF EXIST sort.txt (</p> <p style="FONT-FAMILY: Courier New">   SET "preSize="</p> <p style="FONT-FAMILY: Courier New">   SET "preFile="</p> <p style="FONT-FAMILY: Courier New">   FOR /F "tokens=1,2 delims=|" %%a IN ( sort.txt ) DO (</p> <p style="FONT-FAMILY: Courier New">       SET /A curSize=%%a-100000000</p> <p style="FONT-FAMILY: Courier New">       SET "curFile=%%b"</p> <p style="FONT-FAMILY: Courier New">       IF NOT "!preFile!"=="" IF !preSize! LEQ 5000000 (</p> <p style="FONT-FAMILY: Courier New">          IF !preSize! EQU !curSize! (</p> <p style="FONT-FAMILY: Courier New">             IF /I NOT "!always!"=="true" ( </p> <p style="FONT-FAMILY: Courier New">                ECHO !preSize!^|!preFile!>"Clone\!preSize!.vab"</p> <p style="FONT-FAMILY: Courier New">                SET "always=true"</p> <p style="FONT-FAMILY: Courier New">             )</p> <p style="FONT-FAMILY: Courier New">             ECHO !curSize!^|!curFile!>>"Clone\!preSize!.vab"</p> <p style="FONT-FAMILY: Courier New">          ) ELSE (</p> <p style="FONT-FAMILY: Courier New">            SET "always=false"</p> <p style="FONT-FAMILY: Courier New">          )</p> <p style="FONT-FAMILY: Courier New">       )</p> <p style="FONT-FAMILY: Courier New">       SET /A preSize=!curSize!</p> <p style="FONT-FAMILY: Courier New">       SET "preFile=!curFile!"</p> <p style="FONT-FAMILY: Courier New">   )</p> <p style="FONT-FAMILY: Courier New">)</p> <p style="FONT-FAMILY: Courier New"> <br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 微Y一些DOS命o的搞WBUGQ?br />::<br />:: FCQ名U的字数过185个的文g夹不予理?br />::<br />:: DIRQ把路径中的一些Unicode码(?0FBQ用半角问号?”代替,C本也如此<br />::<br />:: FOR /RQ不但把Unicode码(?0FBQ用半角问号?”代替,q会删除路径中的?”和“^?br />::<br />:: 以上q些微YBUGQɘq个批处理也有了BUGQ\径中不能有?”、“^”和一些Unicode?br />::<br />::<br />:: FC命oq回代码含义Q?br />::<br />:: 0   完全相同<br />::<br />:: 1   不完全同<br />::<br />:: 2   ~少文g<br />::<br />::<br />:: FIND命oq回代码含义Q?br />::<br />:: 0   扑ֈ字符?br />::<br />:: 1   没有扑ֈ字符?br />::<br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:reload</p> <p style="FONT-FAMILY: Courier New">IF EXIST "Clone\" (</p> <p style="FONT-FAMILY: Courier New">   FOR /R "Clone\" %%a IN ( *.vab ) DO (</p> <p style="FONT-FAMILY: Courier New">       SET "list=Clone\%%~nxa"</p> <p style="FONT-FAMILY: Courier New">       SET /A num=1</p> <p style="FONT-FAMILY: Courier New">       GOTO cycle</p> <p style="FONT-FAMILY: Courier New">   )</p> <p style="FONT-FAMILY: Courier New">)</p> <p style="FONT-FAMILY: Courier New">GOTO delete</p> <p style="FONT-FAMILY: Courier New"> <br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 原理Q?br />::<br />:: 假设有DATA[A B C D B A A]q个7位数l需要自w比较,按照正常的方法,如下Q?br />::<br />:: for( int i=0; i<n-1; i++ )<br />::    {<br />::      for( int j=i+1; j<n; j++ )<br />::         {<br />::           compare DATA[i] DATA[j]...<br />::         }<br />::    }<br />::<br />:: 需要比较N*(N-1)/2ơ,?*(7-1)/2=21ơ,如下Q?br />::<br />:: [A B]、[A C]、[A D]、[A B]、[A A]、[A A]<br />::<br />:: [B C]、[B D]、[B B]、[B A]、[B A]<br />::<br />:: [C D]、[C B]、[C A]、[C A]<br />::<br />:: [D B]、[D A]、[D A]<br />::<br />:: [B A]、[B A]<br />::<br />:: [A A]<br />::<br />:: 但是从上面的列表可以发现Q有些已l被定和某个数相同的数Q如[A]和[B]两类Q?br />::<br />:: 在后面依然和别的数l比较,q是不科学的Q应该在扑ֈ相同cdQ删除它们?br />::<br />:: 也就是说Q一旦找到相同的c,把它们剔除出@环,那么循环应该如下Q?br />::<br />:: A B C D B A A<br />::<br />:: W一ơ@环找出所有相同的[A]后,待比较列表动态变为:<br />::<br />:: B C D B<br />::<br />:: W二ơ@环找出所有相同的[B]后,待比较列表动态变为:<br />::<br />:: C D<br />::<br />:: 如上Q那么比较ؓQ?br />::<br />:: [A B]、[A C]、[A D]、[A B]、[A A]、[A A]<br />::<br />:: [B C]、[B D]、[B B]、[BXA]、[BXA]<br />::<br />:: [C D]、[CXB]、[CXA]、[CXA]<br />::<br />:: [DXB]、[DXA]、[DXA]<br />::<br />:: [BXA]、[BXA]<br />::<br />:: [AXA]<br />::<br />:: 中间有X的表C已被羃减的Q即最l比较ؓQ?br />::<br />:: [A B]、[A C]、[A D]、[A B]、[A A]、[A A]<br />::<br />:: [B C]、[B D]、[B B]<br />::<br />:: [C D]<br />::<br />:: 整个批处理原理:<br />::<br />:: 1、FOR命o通过%%~za生成零散的,每列开头ؓ文g大小的文件列表hash.txtQ如Q?br />::<br />::    100017000|E:\123.jpg<br />::    100017000|E:\345.jpg<br />::    100056732|E:\ffff.jpg<br />::    100017000|E:\OK\123.jpg<br />::    100056732|E:\OK\ffff.jpg<br />::    100012345|E:\OK\gag.jpg<br />::<br />:: 2、SORT命ohash.txt从大到小Q当然也可以从小到大Q排序成sort.txtQ如Q?br />::<br />::    100056732|E:\ffff.jpg<br />::    100056732|E:\OK\ffff.jpg<br />::    100017000|E:\123.jpg<br />::    100017000|E:\345.jpg<br />::    100017000|E:\OK\123.jpg<br />::    100012345|E:\OK\gag.jpg<br />::<br />:: 3、分析sort.txt列表文gQ如果有两行以上大小相同的纪录,分离到同一个新列表文gQ?br />::<br />::    文g名:Clone\56732.vabQ内容如下:<br />::    100056732|E:\ffff.jpg<br />::    100056732|E:\OK\ffff.jpg<br />::<br />::    文g名:Clone\17000.vabQ内容如下:<br />::    100017000|E:\123.jpg<br />::    100017000|E:\345.jpg<br />::    100017000|E:\OK\123.jpg<br />::<br />:: 4、通过双层嵌套FOR命oQ进行比较,相同的纪录进clone.txtQ也是最l文Ӟ<br />::<br />::    不相同的则纪录进新的文gcomparedN.vabQ此处N为数????Q如果不删除Q?br />::<br />::    可以看到动态的待比较列表,用于调试?br />::<br />::    一旦生成了comparedN.vab文gQ就表示有未比较的文Ӟ则将待比较列表list设成<br />::<br />::    最新的comparedN.vab文gQƈ且蟩转到双层嵌套FOR命o开头cycleQ重新@环?br />::<br />::    一旦待比较列表list消失Q则表明此类大小的文件比较完毕,跌{到reloadQ分析下<br />::<br />::    一个大的文g列表?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:cycle</p> <p style="FONT-FAMILY: Courier New">REM TYPE !list! & PAUSE</p> <p style="FONT-FAMILY: Courier New">IF EXIST !list! (</p> <p style="FONT-FAMILY: Courier New">   FOR /F "tokens=1,2 delims=|" %%M IN ( !list! ) DO (</p> <p style="FONT-FAMILY: Courier New">       SET "found=false"</p> <p style="FONT-FAMILY: Courier New">REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM    ::<br />REM    :: 我们分析的文件内Ҏ用“|”分隔的Q如下:<br />REM    ::<br />REM    :: 56732|E:\ffff.jpg<br />REM    ::<br />REM    :: tokens=1,2 delims=|会把内容分割成两部分Q即56732和E:\ffff.jpg<br />REM    ::<br />REM    :: W一个部分用变量%%m表示Q也是文g大小56732<br />REM    ::<br />REM    :: W二个部分用变量%%n表示Q也是文g完整的\径E:\ffff.jpg<br />REM    ::<br />REM    :: skip=1表示跌一行,用来防止自n比较。当然ؓ了稳妥,下面q是用了判断<br />REM    ::<br />REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />       FOR /F "skip=1 tokens=1,2 delims=|" %%m IN ( !list! ) DO (</p> <p style="FONT-FAMILY: Courier New">REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM        ::<br />REM        :: 必须是大相同的文g才能比较。不是必要,但稳妥v见还是判断一?br />REM        ::<br />REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />           IF /I "%%M"=="%%m" (</p> <p style="FONT-FAMILY: Courier New">REM           ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM           ::<br />REM           :: 不能自己跟自己比较。虽然上面用skip=1跌Q但E_赯q是判断一?br />REM           ::<br />REM           ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />              IF /I NOT "%%N"=="%%n" (</p> <p style="FONT-FAMILY: Courier New">                 CLS</p> <p style="FONT-FAMILY: Courier New">                 ECHO 正在比较以下%%M字节的两个文Ӟ<br />                 ECHO %%N<br />                 ECHO %%n<br />                 ECHO.</p> <p style="FONT-FAMILY: Courier New">REM              PAUSE</p> <p style="FONT-FAMILY: Courier New">REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM              ::<br />REM              :: ҎFC命o用二q制比较Q所q回的错误码来判断两个文件是否相?br />REM              ::<br />REM              :: Windows 2000下FC命o有问题,所以Windows 2000不能使用此批处理<br />REM              ::<br />REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                 FC.EXE /B "%%N" "%%n">NUL 2>NUL</p> <p style="FONT-FAMILY: Courier New">REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM              ::<br />REM              :: 两个文g比较后完全相同,FC命o会返?<br />REM              ::<br />REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                 IF !ERRORLEVEL! EQU 0 (</p> <p style="FONT-FAMILY: Courier New">                    ECHO 两个文g完全相同Q?br />                    ECHO.</p> <p style="FONT-FAMILY: Courier New">REM                 PAUSE</p> <p style="FONT-FAMILY: Courier New">REM                 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM                 ::<br />REM                 :: 如果!found!为trueQ就表示在比较@环中Q遇CW一ơ相?br />REM                 ::<br />REM                 :: 用于在找到的列表clone.txt中写入新的标?br />REM                 ::<br />REM                 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                    IF /I NOT "!found!"=="true" (</p> <p style="FONT-FAMILY: Courier New">                       ECHO [%%M Bytes]>>clone.txt<br />                       ECHO %%N>>clone.txt</p> <p style="FONT-FAMILY: Courier New">                       SET "found=true"</p> <p style="FONT-FAMILY: Courier New">                    )</p> <p style="FONT-FAMILY: Courier New">                    ECHO %%n>>clone.txt</p> <p style="FONT-FAMILY: Courier New">                 )</p> <p style="FONT-FAMILY: Courier New">REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM              ::<br />REM              :: 两个文g比较后不相同QFC命o会返?<br />REM              ::<br />REM              :: 把不相同的文件写入下一个待比较列表<br />REM              ::<br />REM              :: q个列表取代现有列表用于下ơ@?br />REM              ::<br />REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                 IF !ERRORLEVEL! EQU 1 (</p> <p style="FONT-FAMILY: Courier New">REM                 ECHO %%n & ECHO. & PAUSE</p> <p style="FONT-FAMILY: Courier New">                    ECHO %%m^|%%n>>"compared!num!.vab"</p> <p style="FONT-FAMILY: Courier New">                 )</p> <p style="FONT-FAMILY: Courier New">REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM              ::<br />REM              :: 找不到相应的文gӞFC命o会返?<br />REM              ::<br />REM              :: ׃FOR /R命o得出的\径,会删除\径中的?”和“^”,<br />REM              ::<br />REM              :: q会D虽然待比较列表有路径Q错误的Q,然而FC命o却找不到<br />REM              ::<br />REM              :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />                 IF !ERRORLEVEL! EQU 2 (</p> <p style="FONT-FAMILY: Courier New">REM                 ECHO %%n & ECHO. & PAUSE</p> <p style="FONT-FAMILY: Courier New">                    IF NOT EXIST "%%N" (</p> <p style="FONT-FAMILY: Courier New">                       ECHO %%M^|%%N>>lost.txt</p> <p style="FONT-FAMILY: Courier New">                    )</p> <p style="FONT-FAMILY: Courier New">                    IF NOT EXIST "%%n" (</p> <p style="FONT-FAMILY: Courier New">                       ECHO %%m^|%%n>>lost.txt</p> <p style="FONT-FAMILY: Courier New">                    )</p> <p style="FONT-FAMILY: Courier New">                 )</p> <p style="FONT-FAMILY: Courier New">              )</p> <p style="FONT-FAMILY: Courier New">           )</p> <p style="FONT-FAMILY: Courier New">       )</p> <p style="FONT-FAMILY: Courier New">REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM    ::<br />REM    :: 如果!found!为trueQ就表示在这ơ@环中扑ֈ了相同文?br />REM    ::<br />REM    :: 那么针对q次循环的结束,在找到的列表clone.txt中追加一个空行,用来分隔<br />REM    ::<br />REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />       IF /I "!found!"=="true" (</p> <p style="FONT-FAMILY: Courier New">          ECHO.>>clone.txt</p> <p style="FONT-FAMILY: Courier New">       )</p> <p style="FONT-FAMILY: Courier New">REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM    ::<br />REM    :: 删除现有的待比较列表Q必d除,否则会陷入死循环<br />REM    ::<br />REM    :: q也是蟩出@环的判断条gQvery important!<br />REM    ::<br />REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />       DEL /F /Q "!list!" 2>NUL</p> <p style="FONT-FAMILY: Courier New">REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />REM    ::<br />REM    :: 如果刚才的@环,有一些文件不相同Q就会存在新的待比较列表<br />REM    ::<br />REM    :: 我们把它设ؓ新的待比较列表,准备跌{到@环开_重新循环<br />REM    ::<br />REM    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />       IF EXIST "compared!num!.vab" (</p> <p style="FONT-FAMILY: Courier New">          SET "list=compared!num!.vab"</p> <p style="FONT-FAMILY: Courier New">          SET /A num+=1</p> <p style="FONT-FAMILY: Courier New">       ) ELSE (</p> <p style="FONT-FAMILY: Courier New">         GOTO reload</p> <p style="FONT-FAMILY: Courier New">       )</p> <p style="FONT-FAMILY: Courier New">       GOTO cycle</p> <p style="FONT-FAMILY: Courier New">   )</p> <p style="FONT-FAMILY: Courier New">)</p> <p style="FONT-FAMILY: Courier New"> <br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 删除用过的文?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:delete</p> <p style="FONT-FAMILY: Courier New">DEL /F /Q hash.txt 2>NUL<br />DEL /F /Q sort.txt 2>NUL</p> <p style="FONT-FAMILY: Courier New">RD /S /Q "Clone\" 2>NUL</p> <p style="FONT-FAMILY: Courier New">IF EXIST clone.txt %SystemRoot%\NOTEPAD.EXE clone.txt</p> <p style="FONT-FAMILY: Courier New">@ECHO ON</p> </font> <p style="FONT-FAMILY: Courier New"> <font size="2"> </font> </p> <img src ="http://m.tkk7.com/needjava/aggbug/128926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/needjava/" target="_blank">NeedJava</a> 2007-07-08 21:40 <a href="http://m.tkk7.com/needjava/archive/2007/07/08/128926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔批处理〕搜索可用的JRE路径http://m.tkk7.com/needjava/archive/2007/07/05/128391.htmlNeedJavaNeedJavaThu, 05 Jul 2007 08:28:00 GMThttp://m.tkk7.com/needjava/archive/2007/07/05/128391.htmlhttp://m.tkk7.com/needjava/comments/128391.htmlhttp://m.tkk7.com/needjava/archive/2007/07/05/128391.html#Feedback0http://m.tkk7.com/needjava/comments/commentRss/128391.htmlhttp://m.tkk7.com/needjava/services/trackbacks/128391.html ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: Author: NeedJava
::
:: Modified: 2007-07-07
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@ECHO OFF


SETLOCAL EnableDelayedExpansion

ECHO 搜烦可用的〔JRE〕\径,按Q意键l箋?/font>

PAUSE>NUL


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: 先找到java.exe文gQ得C要\径,然后Ҏjava.exe附近一些有特点的文Ӟ
::
:: 来判断是否是有效的\径?br />::
:: 没办法识别h为制造的恶意路径Q除非每个文仉用MD5辨认?br />::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
DEL /F /Q JRE.txt 2>NUL

FOR %%a IN ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) DO (

    IF EXIST "%%a:\" (

       ECHO 正在?%a:〕盘下搜索…?/p>

       FOR /F "delims=" %%b IN ( 'DIR /A-D /B /S "%%a:\java.exe" 2^>NUL' ) DO (

           SET "JRELocation=%%~dpb"

REM        ECHO [%%~fb] & ECHO [!JRELocation!] & PAUSE

REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM        ::
REM        :: 去除末尾的“\bin\?br />REM        ::
REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM        IF /I "!JRELocation:~5!"=="\bin\" (
REM
REM           SET "JRELocation=!JRELocation:~0,5!"
REM
REM           ECHO [!JRELocation!] & PAUSE
REM
REM        )

REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM        ::
REM        :: q是JDK内含的JRE
REM        ::
REM        :: C:\Program Files\Java\jdk1.5.0_12\bin\java.exe
REM        ::
REM        :: C:\Program Files\Java\jdk1.5.0_12\jre\bin\java.dll
REM        ::
REM        :: C:\Program Files\Java\jdk1.5.0_12\jre\bin\client\jvm.dll
REM        ::
REM        :: C:\Program Files\Java\jdk1.5.0_12\jre\lib\rt.jar
REM        ::
REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
           IF EXIST "!JRELocation!\..\jre\bin\java.dll" (

              IF EXIST "!JRELocation!\..\jre\bin\client\jvm.dll" (

                 IF EXIST "!JRELocation!\..\jre\lib\rt.jar" (

                    CALL :version !JRELocation!

                 )

              )

           )

REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM        ::
REM        :: q是单独的JREQ必d除JDK内含JRE的情况,防止重复
REM        ::
REM        :: C:\Program Files\Java\jre1.5.0_12\bin\java.exe
REM        ::
REM        :: C:\Program Files\Java\jre1.5.0_12\bin\java.dll
REM        ::
REM        :: C:\Program Files\Java\jre1.5.0_12\bin\client\jvm.dll
REM        ::
REM        :: C:\Program Files\Java\jre1.5.0_12\lib\rt.jar
REM        ::
REM        :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
           IF EXIST "!JRELocation!\java.dll" (

              IF EXIST "!JRELocation!\client\jvm.dll" (

                 IF EXIST "!JRELocation!\..\lib\rt.jar" (

                    IF NOT EXIST "!JRELocation!\..\..\bin\java.exe" (

                       CALL :version !JRELocation!

                    )

                 )

              )

           )

       )

    )

)

GOTO :show


:version
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: JAVA.EXE -version不是用标准输出流Q而是用标准错误输出流
::
:: 所以如果要输出到文Ӟ必须用错误流Q即2>。输出类似如下:
::
:: java version "1.5.0_12"
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ECHO Found JRE: [%*]

IF NOT "!JRELocation!"=="" IF "!JRELocation!"=="%*" (

   "!JRELocation!\JAVA.EXE" -version 2>versionErr.txt 1>versionOut.txt

   FOR /F "tokens=1,2,3,4* delims= " %%a IN ( versionErr.txt versionOut.txt ) DO (

       IF /I "%%a"=="java" IF /I "%%b"=="version" (

          SET "JREVersion=%%~c"

          ECHO JRE Version: [!JREVersion!] & ECHO.

          ECHO !JREVersion!^ !JRELocation!>>JRE.txt

       )

   )

   DEL /F /Q versionErr.txt 2>NUL

   DEL /F /Q versionOut.txt 2>NUL

)

GOTO :EOF


:show
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: 不徏议用START.EXE命oQ防止关联被改Q直接调用记事本NOTEPAD.EXE打开?br />::
:: 其实后面用不着q个Q这里只是ؓ了方便查看?br />::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
IF EXIST JRE.txt "%SystemRoot%\NOTEPAD.EXE" JRE.txt


::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
:: 下一步,是自动讄环境变量pathQ用INF文gҎ册表Q如下:
::
:: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path:
::
:: "%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;"
::
:: 可以d扑ֈ的JREQ让使用者自己选择用哪个JREQ用到的命oFOR、SET /PQ以后再写…?br />::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


@ECHO ON

 

 

NeedJava 2007-07-05 16:28 发表评论
]]>
〔批处理〕右键添加命令,让Autorun.inf见鬼dhttp://m.tkk7.com/needjava/archive/2007/07/03/127719.htmlNeedJavaNeedJavaMon, 02 Jul 2007 19:33:00 GMThttp://m.tkk7.com/needjava/archive/2007/07/03/127719.htmlhttp://m.tkk7.com/needjava/comments/127719.htmlhttp://m.tkk7.com/needjava/archive/2007/07/03/127719.html#Feedback0http://m.tkk7.com/needjava/comments/commentRss/127719.htmlhttp://m.tkk7.com/needjava/services/trackbacks/127719.html SETLOCAL


:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 讄初始变量
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
SET FileName=预防Autorun病毒

SET FilePath=%ProgramFiles%\\%FileName%.bat


:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 如果原来有BAT文g先取消所有属性,方便下面的修?br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
IF EXIST "%FilePath%" ATTRIB -S -H -A -R "%FilePath%"


:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 生成BAT文gq存攑ֈ指定地点
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ECHO :: 先删除带路hAUTORUN.INFQ注意防止AUTORUN.INF是文件夹>"%FilePath%"
ECHO @IF NOT EXIST AUTORUN.INF\ ATTRIB -S -H -A -R AUTORUN.INF>>"%FilePath%"
ECHO @DEL /F /Q AUTORUN.INF>>"%FilePath%"

ECHO.>>"%FilePath%"
ECHO.>>"%FilePath%"

ECHO :: 讄初始变量>>"%FilePath%"
ECHO @SET FileType=EXE,COM,PIF,LNK,386,VXD,BIN,BAT,CMD,JS,JSE,VBE,VBS,WSF,WSH,HTA,HTT,CHM,HLP,EML,FND,INF,INI,REG,KEY,MSC,MSI,SCF,SCR,SYS>>"%FilePath%"

ECHO.>>"%FilePath%"
ECHO.>>"%FilePath%"

ECHO :: 隐藏的危险文g昄出来>>"%FilePath%"
ECHO @FOR %%%%a IN ( %%FileType%% ) DO @ATTRIB -S -H -A -R *.%%%%a 2^>NUL>>"%FilePath%"

ECHO.>>"%FilePath%"
ECHO.>>"%FilePath%"

ECHO @ECHO.>>"%FilePath%"
ECHO @ECHO 当前根目录下所有危险文件已l显C,该杀该剐׃处理?gt;>"%FilePath%"
ECHO @ECHO.>>"%FilePath%"
ECHO @ECHO CQ千万别双击Q用拖选的方式选择要删除的危险文g?gt;>"%FilePath%"
ECHO @ECHO.>>"%FilePath%"

ECHO.>>"%FilePath%"
ECHO.>>"%FilePath%"

ECHO @PAUSE>>"%FilePath%"


:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: BAT文g讄pȝ、存档、只d?br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
IF EXIST "%FilePath%" ATTRIB +S +A +R "%FilePath%"


:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 生成注册表文Ӟq且q加q注册表?br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ECHO Windows Registry Editor Version 5.00>AddRegister.reg

ECHO.>>AddRegister.reg

ECHO [-HKEY_CLASSES_ROOT\Drive\Shell\%FileName%]>>AddRegister.reg

ECHO.>>AddRegister.reg

ECHO [HKEY_CLASSES_ROOT\Drive\Shell\%FileName%\Command]>>AddRegister.reg
ECHO @="%FilePath%">>AddRegister.reg

REGEDIT /S AddRegister.reg

DEL /F /Q AddRegister.reg


ENDLOCAL

 

后记Q?br />
现在关于U盘病毒的防止有很多种Q按ShiftQ或在组{略中禁止自动运行?br />
开始想用FINDSTR.EXE分析Autorun.inf文gQ然后根据找到的路径直接删除病毒Q但是限制条件怪多的,如真假\径,双执行文Ӟ隐藏目录Q想惌是预防ؓ主,Z鄙视一下Micro$oftQ?br />
 



NeedJava 2007-07-03 03:33 发表评论
]]>
〔批处理〕Just Pictureshttp://m.tkk7.com/needjava/archive/2007/07/03/127718.htmlNeedJavaNeedJavaMon, 02 Jul 2007 19:10:00 GMThttp://m.tkk7.com/needjava/archive/2007/07/03/127718.htmlhttp://m.tkk7.com/needjava/comments/127718.htmlhttp://m.tkk7.com/needjava/archive/2007/07/03/127718.html#Feedback0http://m.tkk7.com/needjava/comments/commentRss/127718.htmlhttp://m.tkk7.com/needjava/services/trackbacks/127718.html 每次从网上保存网,只想?.files文g多w面的囄Q每ơ手工修改,烦!

@ECHO OFF

ECHO 要处理保存的网|Ӟ按Q意键l箋?/font>

PAUSE>NUL

DIR /AD /B /S "*.files" 2>NUL | SORT /R >list.txt 2>NUL

FOR /F "delims=" %%a IN ( list.txt ) DO (

    ECHO ========================================================================
    ECHO.
    ECHO 正在处理文g夏V?%a?br />    ECHO.

    FOR /F "delims=" %%b IN ( 'DIR /B /ON /S "%%a\" 2^>NUL' ) DO (

        ECHO 正在处理文g?%b?/font>

        IF /I NOT "%%~xb"==".jpg" IF /I NOT "%%~xb"==".jpeg" IF /I NOT "%%~xb"==".png" IF /I NOT "%%~xb"==".bmp" DEL /F /Q "%%b"

    )

    REN "%%a" "%%~na" 2>NUL

    DEL /F /Q "%%~dpna.htm" 2>NUL

)

DEL /F /Q list.txt 2>NUL

GOTO :EOF



NeedJava 2007-07-03 03:10 发表评论
]]>
〔批处理〕成批关闭Temp下正在运行的可执行文?/title><link>http://m.tkk7.com/needjava/archive/2007/04/12/110040.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Wed, 11 Apr 2007 18:46:00 GMT</pubDate><guid>http://m.tkk7.com/needjava/archive/2007/04/12/110040.html</guid><wfw:comment>http://m.tkk7.com/needjava/comments/110040.html</wfw:comment><comments>http://m.tkk7.com/needjava/archive/2007/04/12/110040.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/needjava/comments/commentRss/110040.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/needjava/services/trackbacks/110040.html</trackback:ping><description><![CDATA[ <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">SET file=exe</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">SET dir=%TEMP%</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:: 所有TEMP下的可执行文件列出来<br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />ATTRIB /S /D -S -H -A -R "%dir%\*" 2>NUL</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">DIR /B /S /ON "%dir%\*.%file%">list 2>NUL</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">DEL /F /Q %file% 2>NUL</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:: 先列出可执行文gQ再试图关闭q程Q如果出错,一般是没有q行<br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />IF EXIST list FOR /F "delims=|" %%a IN ( list ) DO ECHO %%a>>%file% & TASKKILL /F /IM "%%~nxa" 2>>%file% & ECHO.>>%file% & REN "%%a" "%%~na.NeedJava"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">IF EXIST %file% NOTEPAD.EXE %file%</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:: l尾工作<br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />DEL /F /Q list 2>NUL</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">RD /S /Q %TEMP% 2>NUL</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">MD %TEMP% 2>NUL</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080"> </font> </p> <img src ="http://m.tkk7.com/needjava/aggbug/110040.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/needjava/" target="_blank">NeedJava</a> 2007-04-12 02:46 <a href="http://m.tkk7.com/needjava/archive/2007/04/12/110040.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔批处理〕徏立快h?/title><link>http://m.tkk7.com/needjava/archive/2007/04/11/109787.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Tue, 10 Apr 2007 18:21:00 GMT</pubDate><guid>http://m.tkk7.com/needjava/archive/2007/04/11/109787.html</guid><wfw:comment>http://m.tkk7.com/needjava/comments/109787.html</wfw:comment><comments>http://m.tkk7.com/needjava/archive/2007/04/11/109787.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/needjava/comments/commentRss/109787.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/needjava/services/trackbacks/109787.html</trackback:ping><description><![CDATA[ <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">SET link=%UserProfile%\桌面\C?url</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 生成快捷方式<br />::<br />:: [InternetShortcut]<br />:: URL=file:///D:/WINDOWS/notepad.exe?/font> <a > <font color="#808080">http://www.126.com/</font> </a> <br /> <font color="#808080">:: WorkingDirectory=D:\WINDOWS<br />:: IconFile=D:\WINDOWS\notepad.exe<br />:: IconIndex=0<br />:: HotKey=1601<br />::<br />:: 注意ECHO IconIndex=^0Q不能直接用ECHO IconIndex=0Q因????都是默认道Q需要用“^”{?br />::<br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />ECHO [InternetShortcut]>"%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">ECHO URL=file:///%SystemRoot%/notepad.exe>>"%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">ECHO WorkingDirectory=%SystemRoot%>>"%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">ECHO ShowCommand=7>>"%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">ECHO IconFile=%SystemRoot%\notepad.exe>>"%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">ECHO IconIndex=^0>>"%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">ECHO HotKey=1601>>"%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:: 打开快捷方式1<br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />"%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:: 打开快捷方式2<br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />Rundll32.exe url.dll, FileProtocolHandler "%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />:: 删除快捷方式<br />:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />PAUSE & DEL /F /Q "%link%"</font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080"> </font> </p> <img src ="http://m.tkk7.com/needjava/aggbug/109787.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/needjava/" target="_blank">NeedJava</a> 2007-04-11 02:21 <a href="http://m.tkk7.com/needjava/archive/2007/04/11/109787.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>〔批处理〕批量修改后~?/title><link>http://m.tkk7.com/needjava/archive/2007/04/10/109533.html</link><dc:creator>NeedJava</dc:creator><author>NeedJava</author><pubDate>Mon, 09 Apr 2007 19:29:00 GMT</pubDate><guid>http://m.tkk7.com/needjava/archive/2007/04/10/109533.html</guid><wfw:comment>http://m.tkk7.com/needjava/comments/109533.html</wfw:comment><comments>http://m.tkk7.com/needjava/archive/2007/04/10/109533.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/needjava/comments/commentRss/109533.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/needjava/services/trackbacks/109533.html</trackback:ping><description><![CDATA[ <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080">::修改<br />SET old=.TXT<br />SET new=%old%%COMPUTERNAME% </font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">::q原<br />::SET new=.TXT<br />::SET old=%old%%COMPUTERNAME% </font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">::文g列表<br />SET list=%old%.VAB </font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 1、先把当前目录及子目录下所?old%后缀名的文g列出来?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />DIR /A-D /B /L /N /ON /S *%old%>%list% </font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 2、再Ҏ列出来的记录修改文g名?br />::<br />:: FOR命o加上"delims=|"Q表C文件夹名称变量用“|”分隔。因为默认是I格和制表符Q一旦遇到如“新建文?br />::<br />:: ?(2)”这L文g夹,会断开成ؓ“新建文件夹”,D找不到文件夹。又因ؓ“|”不能用于文件夹名,所以<br />::<br />:: 用“|”作为分隔符?br />::<br />:: 可以?%%~ 文件名分离成文件名、扩展名、盘W等部分Q?%~na表示只有文g名,%%~xa表示只有后缀?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />IF EXIST %list% FOR /F "delims=|" %%a IN ( %list% ) DO IF EXIST "%%a" REN "%%a" "%%~na%new%" </font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />::<br />:: 3、删除用q的列表?br />::<br />::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::<br />IF EXIST %list% ATTRIB /D /S -S -H -A -R %list% && DEL /F /Q %list% </font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">PAUSE </font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080"> </font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080"> </font> </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <br /> <font color="#808080">  </font> </p> <pre> <font color="#808080" size="2"> </font> </pre> <p style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"> <font color="#808080"> </font> </p> <img src ="http://m.tkk7.com/needjava/aggbug/109533.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/needjava/" target="_blank">NeedJava</a> 2007-04-10 03:29 <a href="http://m.tkk7.com/needjava/archive/2007/04/10/109533.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://zz1965.com" target="_blank">av</a>| <a href="http://jundaflex.com" target="_blank">AVַ߹ۿ</a>| <a href="http://zgj688.com" target="_blank">Ůʮ·Ůbbw</a>| <a href="http://778002.com" target="_blank">avר߲ </a>| <a href="http://33eaa.com" target="_blank">޾ƷŮþþþ</a>| <a href="http://d3q4.com" target="_blank">Ļ</a>| <a href="http://shrongshan.com" target="_blank">պƷƵַ</a>| <a href="http://57az.com" target="_blank">˾Ƶ</a>| <a href="http://qvod-player.com" target="_blank"></a>| <a href="http://mabaolu.com" target="_blank">91avƵ</a>| <a href="http://alankell.com" target="_blank">ϼ߿</a>| <a href="http://gachi1151.com" target="_blank">ɫͼƬС˵</a>| <a href="http://hbwhgd.com" target="_blank">ۺɫĻ</a>| <a href="http://yamashida.com" target="_blank">ëƬѹۿ</a>| <a href="http://3t77.com" target="_blank">һۺϾþ</a>| <a href="http://56ms.com" target="_blank">޾ƷƷþ99һ</a>| <a href="http://www-bajie.com" target="_blank">ҹƬ߹ۿӰԺ</a>| <a href="http://199291.com" target="_blank">ƷѵĻվ</a>| <a href="http://hwjyrck.com" target="_blank">ؼëƬ߳˹ۿ</a>| <a href="http://scycho.com" target="_blank">ҳվѹۿ</a>| <a href="http://sdcwpfw.com" target="_blank">Ůˬ̼ƵѲ </a>| <a href="http://by23336.com" target="_blank">Ůһ</a>| <a href="http://szwangzhongwang.com" target="_blank">AVһ </a>| <a href="http://jhmydxx.com" target="_blank">պĻһ</a>| <a href="http://by1687.com" target="_blank">ۺɫAPP</a>| <a href="http://6711wan.com" target="_blank">պƷav</a>| <a href="http://blblkj.com" target="_blank">þþþAVר</a>| <a href="http://0595laser.com" target="_blank">þùƷһ</a>| <a href="http://lijieedu.com" target="_blank">޳avƬ߹ۿ </a>| <a href="http://8xjr.com" target="_blank">ɬɬѹۿƷ</a>| <a href="http://avqvod.com" target="_blank">aëƬȫ</a>| <a href="http://kingrel.com" target="_blank">ӰӾ߹ۿȫ</a>| <a href="http://56kaifa.com" target="_blank">޾ƷɫƵ߹ۿԴ</a>| <a href="http://616kb.com" target="_blank">ѽƵ</a>| <a href="http://yyfass.com" target="_blank">߹ۿ</a>| <a href="http://556228.com" target="_blank">avƬ߹ۿ</a>| <a href="http://qsqse1.com" target="_blank">Ұ߹ۿƵ </a>| <a href="http://moushengguigz.com" target="_blank">˳ëƬ߲</a>| <a href="http://www321fafa.com" target="_blank">þô㽶վ</a>| <a href="http://www96pg.com" target="_blank">91avƵ߹ۿ</a>| <a href="http://82nnn.com" target="_blank">ǵ2018߹ۿѸ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>