最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

可疑文件的批處理最好能用循環(huán)來(lái)寫主體部分

 更新時(shí)間:2007年08月04日 16:30:05   作者:  
今天找了兩篇原來(lái)保存的但是沒正經(jīng)看的講批處理的帖子,雖然講得比較粗,例子也很簡(jiǎn)單,但還是小有收獲。計(jì)劃中查可疑文件的批處理最好能用循環(huán)來(lái)寫主體部分,因?yàn)樯婕暗奖容^多的文件路徑和文件名,直接手工寫B(tài)AT的話太費(fèi)勁。而for循環(huán)正好可以在一定程度上滿足需求,所以對(duì)for循環(huán)的用法重點(diǎn)看了看,雖然還不太懂,但是試著寫了幾行代碼,效果還可以。
    實(shí)驗(yàn)中涉及到4個(gè)文件:list.txt,pre.bat,check.bat,check.log。
    首先,要有l(wèi)ist.txt,這個(gè)文件記錄了所有可疑文件,每行寫一個(gè)。這個(gè)需要手工寫,但是只需要寫文件路徑和文件名,回車換行再寫下一個(gè)即可,工作量說(shuō)大也不大,說(shuō)小也不小。形如:
……
%systemroot%\explorer.exe
%systemroot%\system32\rundll32.exe
……
    第二,pre.bat,這是個(gè)預(yù)處理,是用來(lái)生成check.bat這個(gè)批處理的。其中使用了for循環(huán),從list.txt中按行讀出文件名,替換變量后寫入到check.bat當(dāng)中。這里面使用最多的是echo。在含有輸出重定向的操作(包括for循環(huán))中,因?yàn)閷懭隿heck.bat的內(nèi)容中又含有寫入check.log的操作,所以這里使用了雙引號(hào),用以屏蔽掉其中一個(gè)輸出重定向操作。這里就有了一個(gè)問(wèn)題:本來(lái)寫入check.bat中的命令帶了雙引號(hào),失去了“命令”的作用而成了“字符串”,所以生成check.bat后還要手工刪掉其中所有的雙引號(hào)。這個(gè)不知道能不能用批處理來(lái)實(shí)現(xiàn),我目前沒有找到什么方法。pre.bat的內(nèi)容如下:
@echo off
echo @echo off>> check.bat
echo echo BATCH STARTS...>> check.bat
echo echo PRESS ANY KEY TO START THE BATCH...>> check.bat
echo pause>> check.bat
echo "date /t>> check.log">> check.bat
echo "time /t>> check.log">> check.bat
echo "echo -------START------>> check.log">> check.bat
::以上均向check.bat中寫入提示文字及命令。
for /F %%i in (list.txt) do echo "if exist %%i echo %%i & echo %%i>> check.log">> check.bat
::FOR循環(huán),從list.txt中讀取文件名,
::IF判斷若存在文件則顯示文件名并將其寫入check.log中。
echo "echo -------END------>> check.log">>check.bat
echo echo BATCH ENDS!>> check.bat
echo echo PRESS ANY KEY TO EXIT...>> check.bat
echo pause>> check.bat
pause
    第三,check.bat,這是真正用來(lái)檢查可疑文件的,也是4個(gè)文件中最長(zhǎng)的一個(gè),由pre.bat生成之后,手工刪除了其中所有的雙引號(hào)(使用了記事本的替換功能,其實(shí)也很方便,完全沒有什么工作量)。執(zhí)行時(shí),若存在可疑文件,則顯示并寫入記錄文件check.log中。該文件內(nèi)容形如:
@echo off
echo BATCH STARTS...
echo PRESS ANY KEY TO START THE BATCH...
pause
date /t>> check.log
time /t>> check.log
echo -------START------>> check.log
……
if exist %systemroot%\explorer.exe echo %systemroot%\explorer.exe & echo %systemroot%\explorer.exe>> check.log
if exist %systemroot%\system32\rundll32.exe echo %systemroot%\system32\rundll32.exe & echo %systemroot%\system32\rundll32.exe>> check.log
……
echo -------END------>> check.log
echo BATCH ENDS!
echo PRESS ANY KEY TO EXIT...
pause
    第四,記錄文件check.log,由check.bat生成,記錄檢查結(jié)果。形如:
2007-01-15
20:18
-------START------
……
C:\WINDOWS\explorer.exe
C:\WINDOWS\system32\rundll32.exe
……
-------END------

    現(xiàn)在剩下的問(wèn)題就是寫list.txt了,具體有多少我沒有統(tǒng)計(jì),不過(guò)一天應(yīng)該可以寫完,明天可能王經(jīng)理結(jié)賬要來(lái)公司找我,如果沒別的特殊情況的話,明天可以寫完,差不多可以將1.0版發(fā)給同事和小郭了。

相關(guān)文章

最新評(píng)論

岑巩县| 双峰县| 昭平县| 枞阳县| 镇远县| 瑞丽市| 长寿区| 谷城县| 都昌县| 肃北| 阿合奇县| 富平县| 始兴县| 建昌县| 大洼县| 六枝特区| 潍坊市| 宜阳县| 尼勒克县| 克拉玛依市| 漠河县| 曲靖市| 哈巴河县| 阳朔县| 峨山| 神农架林区| 襄垣县| 上高县| 新巴尔虎右旗| 新源县| 章丘市| 原阳县| 资中县| 陇川县| 沭阳县| 广安市| 壤塘县| 广灵县| 浦江县| 襄城县| 邓州市|