none
登入批次擋如何檢查及刪除某一檔案 RRS feed

  • 問題

  • 請各位幫忙

     

    因最近有一隻AUTOCAD的病毒,會在本機的USER目錄裡面建立某些檔案, 所以我想用VBS檔寫登入批次檔時並刪除掉PC裡USER目錄裡的檔案,但我測試以下的VBS檔並無法刪除掉檔案,請問我要如何改寫下面的VBS檔.

     

     

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    If objFSO.FileExists("C:\Documents and Settings\%username%\Application Data\Autodesk\AutoCAD 2005\R16.1\cht\Support\acad.fas") Then
     objFSO.DeleteFile("C:\Documents and Settings\%username%\Application Data\Autodesk\AutoCAD 2005\R16.1\cht\Support\acad.fas")
    End If
    If objFSO.FileExists("C:\Documents and Settings\%username%\Application Data\Autodesk\AutoCAD 2005\R16.1\cht\Support\acad.sys") Then
     objFSO.DeleteFile("C:\Documents and Settings\%username%\Application Data\Autodesk\AutoCAD 2005\R16.1\cht\Support\acad.sys")
    End If
    IF objFSO.FileExists("C:\Documents and Settings\%username%\My Documents\acad.fas") Then
     objFSO.DeleteFile "C:\Documents and Settings\%username%\My Documents\acad.fas"
    End If

    IF objFSO.FileExists("C:\Documents and Settings\%username%\My Documents\acad.sys") Then
     objFSO.DeleteFile "C:\Documents and Settings\%username%\My Documents\acad.sys"
    End If

    2007年8月30日 上午 06:52

解答

所有回覆

  • 何不用bat檔直接寫del指令呢?

    2007年8月30日 上午 08:13
  • 感謝您的回覆

     

    因為我已經在使用VBS做登入檔了,且BAT好像沒有掛印表機和指定印表機的寫法,況且用BAT檔經常被USER關閉,造成批次檔未執行完就關閉,這一個VBS的內容只是我登入檔的一部份,

     

    我現在只差登入帳號的變數了,其他應該的OK了

    2007年8月30日 上午 08:20
  • WshNetwork取得UserName,然後路徑分段用+號做字串連接試試。

    2007年8月30日 上午 08:27
  • 感謝您的幫忙,我已經測試完成了,VBS的程序如下,其他的人可以參考.

     

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set NDP = CreateObject("WScript.Network")
    strUserName = NDP.UserName

    var1="c:\documents and Settings\"
    var2="\Application Data\Autodesk\AutoCAD 2005\R16.1\cht\Support\"
    var3="\My Documents\"

    chemin1 =var1&strUserName&var2
    chemin2 =var1&strUserName&var3


    If objFSO.FileExists(chemin1 & "acad.sys") Then
     objFSO.DeleteFile(chemin1 & "acad.sys")
    End If

    If objFSO.FileExists(chemin1 & "acad.fas") Then
     objFSO.DeleteFile(chemin1 & "acad.fas")
    End If

    If objFSO.FileExists(chemin2 & "acad.sys") Then
     objFSO.DeleteFile(chemin2 & "acad.sys")
    End If

    If objFSO.FileExists(chemin2 & "acad.fas") Then
     objFSO.DeleteFile(chemin2 & "acad.fas")
    End If

     

    2007年8月30日 上午 10:10