国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

可疑文件的批處理最好能用循環來寫主體部分

2020-06-09 14:09:24
字體:
來源:轉載
供稿:網友
今天找了兩篇原來保存的但是沒正經看的講批處理的帖子,雖然講得比較粗,例子也很簡單,但還是小有收獲。計劃中查可疑文件的批處理最好能用循環來寫主體部分,因為涉及到比較多的文件路徑和文件名,直接手工寫BAT的話太費勁。而for循環正好可以在一定程度上滿足需求,所以對for循環的用法重點看了看,雖然還不太懂,但是試著寫了幾行代碼,效果還可以。
    實驗中涉及到4個文件:list.txt,pre.bat,check.bat,check.log。
    首先,要有list.txt,這個文件記錄了所有可疑文件,每行寫一個。這個需要手工寫,但是只需要寫文件路徑和文件名,回車換行再寫下一個即可,工作量說大也不大,說小也不小。形如:
……
%systemroot%/explorer.exe
%systemroot%/system32/rundll32.exe
……
    第二,pre.bat,這是個預處理,是用來生成check.bat這個批處理的。其中使用了for循環,從list.txt中按行讀出文件名,替換變量后寫入到check.bat當中。這里面使用最多的是echo。在含有輸出重定向的操作(包括for循環)中,因為寫入check.bat的內容中又含有寫入check.log的操作,所以這里使用了雙引號,用以屏蔽掉其中一個輸出重定向操作。這里就有了一個問題:本來寫入check.bat中的命令帶了雙引號,失去了“命令”的作用而成了“字符串”,所以生成check.bat后還要手工刪掉其中所有的雙引號。這個不知道能不能用批處理來實現,我目前沒有找到什么方法。pre.bat的內容如下:
@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循環,從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,這是真正用來檢查可疑文件的,也是4個文件中最長的一個,由pre.bat生成之后,手工刪除了其中所有的雙引號(使用了記事本的替換功能,其實也很方便,完全沒有什么工作量)。執行時,若存在可疑文件,則顯示并寫入記錄文件check.log中。該文件內容形如:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云林县| 垦利县| 临颍县| 梁山县| 神农架林区| 兰西县| 玉山县| 长沙市| 哈密市| 柯坪县| 沧州市| 美姑县| 昌吉市| 西宁市| 开化县| 突泉县| 平度市| 吉木萨尔县| 长葛市| 玉林市| 延寿县| 馆陶县| 泾阳县| 嘉鱼县| 平潭县| 东丽区| 施甸县| 宁国市| 延吉市| 宁海县| 博客| 旬邑县| 同心县| 辛集市| 墨玉县| 秦皇岛市| 五原县| 灵台县| 淮北市| 天峻县| 垦利县|