vbs腳本實(shí)現(xiàn)修改DNS和清空IE臨時(shí)文件功能

字號(hào):


    這篇文章主要介紹了vbs腳本實(shí)現(xiàn)修改DNS和清空IE臨時(shí)文件功能,本文直接給出實(shí)現(xiàn)兩種功能的腳本代碼,需要的朋友可以參考下
    今早接到山青院電話,說需要一個(gè)修改DNS為校內(nèi)DNS,并且清空IE臨時(shí)文件的腳本,想都沒想,用批處理寫了一個(gè):
    代碼如下:
    rem programed by Kaisir
    @echo off
    echo 本腳本的作用為修改您的DNS為山東青年政治學(xué)院專用DNS 222.194.76.2 同時(shí)幫您清除了電腦中的臨時(shí)文件。若有疑問,請(qǐng)致電網(wǎng)絡(luò)中心。
    pause
    echo 修改DNS中...
    netsh interface ip set dns "本地連接" source=static addr=222.194.76.2
    echo DNS已經(jīng)修改成功,接下來將開始清空ie臨時(shí)文件...
    pause
    echo 清除臨時(shí)文件中...
    del /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*"
    del /f /s /q "%userprofile%AppDataLocalMicrosoftWindowsTemporary Internet Files*.*"
    echo 全部操作已成功完成!感謝您的使用。
    pause
    你瞧,思路很簡(jiǎn)單,用netsh把dns改了就是了,因?yàn)橐m應(yīng)Win7跟Xp臨時(shí)目錄的不同,于是刪除語句寫了兩遍。
    但是,仔細(xì)想想,這個(gè)腳本有很多問題,
    1)若用戶有多塊網(wǎng)卡,這個(gè)腳本只會(huì)修改“本地連接”的那一個(gè)。
    2)若用戶自己手動(dòng)修改了臨時(shí)文件的位置,則這個(gè)腳本也無能為力。
    于是,有了下面這個(gè)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
    這個(gè)就比較智能了,通過winmgmts獲取系統(tǒng)中的網(wǎng)卡列表,然后遍歷啟用的網(wǎng)卡,然后進(jìn)行修改。而臨時(shí)文件部分,也是通過讀取注冊(cè)表“HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folderscache”項(xiàng)的鍵值來獲取文件夾位置。之后通過創(chuàng)建的fso對(duì)象的相應(yīng)方法給他干掉~