這篇文章主要介紹了vbs腳本實現(xiàn)修改DNS和清空IE臨時文件功能,本文直接給出實現(xiàn)兩種功能的腳本代碼,需要的朋友可以參考下
今早接到山青院電話,說需要一個修改DNS為校內(nèi)DNS,并且清空IE臨時文件的腳本,想都沒想,用批處理寫了一個:
代碼如下:
rem programed by Kaisir
@echo off
echo 本腳本的作用為修改您的DNS為山東青年政治學(xué)院專用DNS 222.194.76.2 同時幫您清除了電腦中的臨時文件。若有疑問,請致電網(wǎng)絡(luò)中心。
pause
echo 修改DNS中...
netsh interface ip set dns "本地連接" source=static addr=222.194.76.2
echo DNS已經(jīng)修改成功,接下來將開始清空ie臨時文件...
pause
echo 清除臨時文件中...
del /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*"
del /f /s /q "%userprofile%AppDataLocalMicrosoftWindowsTemporary Internet Files*.*"
echo 全部操作已成功完成!感謝您的使用。
pause
你瞧,思路很簡單,用netsh把dns改了就是了,因為要適應(yīng)Win7跟Xp臨時目錄的不同,于是刪除語句寫了兩遍。
但是,仔細(xì)想想,這個腳本有很多問題,
1)若用戶有多塊網(wǎng)卡,這個腳本只會修改“本地連接”的那一個。
2)若用戶自己手動修改了臨時文件的位置,則這個腳本也無能為力。
于是,有了下面這個vbs版的腳本。
代碼如下:
'刪除目錄下的所有文件及文件夾
Const DeleteReadOnly = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile(net_temp&"*.*"), DeleteReadOnly
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
Set colSubfolders2 = objWMIService.ExecQuery _
("Associators of {Win32_Directory.Name='" & net_temp & "'} " _
& "Where AssocClass = Win32_Subdirectory " _
& "ResultRole = PartComponent")
For Each objFolder2 in colSubfolders2
objFSO.deleteFolder objFolder2.name , DeleteReadOnly
Next
MsgBox("所有操作已成功執(zhí)行!")
else
end if
這個就比較智能了,通過winmgmts獲取系統(tǒng)中的網(wǎng)卡列表,然后遍歷啟用的網(wǎng)卡,然后進(jìn)行修改。而臨時文件部分,也是通過讀取注冊表“HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folderscache”項的鍵值來獲取文件夾位置。之后通過創(chuàng)建的fso對象的相應(yīng)方法給他干掉~