Page 1 of 2 12 LastLast
Results 1 to 15 of 25

Thread: Script to Search and Delete Files from Remote Machines

  1. #1
    binuthomas Guest

    Script to Search and Delete Files from Remote Machines

    I need to delete some files from remote machines (eg: all files ending with error.doc). I have got a script for the same. But the problem is it will delete only the files I specify, like if I mention error.doc it will delete only that particular file, it will not delete newerror.doc. Can you please modify the following script for the same. Also I need this script has to pick the machine names one by one from a text file and perform the task

    ****************START OF SCRIPT**********************

    Option Explicit
    Dim strComputer, strFileName, strExtension, boolFileFound, strFileList, objWMIService, colFileList, objFile, boolPinged, objFSO

    strComputer = InputBox("Please enter the computer IP or hostname that you want to look for a file on:", "Computer to search", "")
    strFileName = InputBox("Please enter the file name (no extension) to search for:", "File name to search for", "")
    strExtension = InputBox("Please enter the extension of the file name to search for:", "File name extension to search for", "")
    boolPinged = Ping(strComputer)

    If boolPinged = "True" Then
    strFileList = "Files found and deleted on" & strComputer & vbCrLf

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colFileList = objWMIService.ExecQuery _
    ("SELECT * FROM CIM_Datafile WHERE (Drive = 'c:' OR Drive = 'd:' OR Drive = 'e:') AND FileName = '" & strFileName & "' AND Extension = '" & strExtension & "'")

    On Error Resume Next

    For Each objFile In colFileList

    If Err Then
    MsgBox "No files were found."

    WScript.Quit

    End If

    strFileList = strFileList & objFile.Name & vbCrLf

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    objFSO.DeleteFile(objFile.Name)

    Next

    MsgBox strFileList

    Else
    MsgBox "Could not ping " & strComputer
    End If
    WScript.Quit

    Function Ping(strComputer)
    Dim objShell, boolCode
    Set objShell = CreateObject("WScript.Shell")
    boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)
    If boolCode = 0 Then
    Ping = True
    Else
    Ping = False
    End If
    End Function

    *************** END OF SCRIPT****************************

  2. #2
    Pegasus \(MVP\) Guest

    Re: Script to Search and Delete Files from Remote Machines


    "binuthomas" <binuthomas.39nevf@DoNotSpam.com> wrote in message
    news:binuthomas.39nevf@DoNotSpam.com...
    >
    > I need to delete some files from remote machines (eg: all files ending
    > with error.doc). I have got a script for the same. But the problem is
    > it will delete only the files I specify, like if I mention error.doc it
    > will delete only that particular file, it will not delete newerror.doc.
    > Can you please modify the following script for the same. Also I need
    > this script has to pick the machine names one by one from a text file
    > and perform the task
    >
    > ****************START OF SCRIPT**********************
    >
    > Option Explicit
    > Dim strComputer, strFileName, strExtension, boolFileFound, strFileList,
    > objWMIService, colFileList, objFile, boolPinged, objFSO
    >
    > strComputer = InputBox("Please enter the computer IP or hostname that
    > you want to look for a file on:", "Computer to search", "")
    > strFileName = InputBox("Please enter the file name (no extension) to
    > search for:", "File name to search for", "")
    > strExtension = InputBox("Please enter the extension of the file name to
    > search for:", "File name extension to search for", "")
    > boolPinged = Ping(strComputer)
    >
    > If boolPinged = "True" Then
    > strFileList = "Files found and deleted on" & strComputer & vbCrLf
    >
    >
    > Set objWMIService =
    > GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer
    > & "\root\cimv2")
    >
    > Set colFileList = objWMIService.ExecQuery _
    > ("SELECT * FROM CIM_Datafile WHERE (Drive = 'c:' OR Drive =
    > 'd:' OR Drive = 'e:') AND FileName = '" & strFileName & "' AND Extension
    > = '" & strExtension & "'")
    >
    > On Error Resume Next
    >
    > For Each objFile In colFileList
    >
    > If Err Then
    > MsgBox "No files were found."
    >
    > WScript.Quit
    >
    > End If
    >
    > strFileList = strFileList & objFile.Name & vbCrLf
    >
    > Set objFSO =
    > CreateObject("Scripting.FileSystemObject")
    >
    > objFSO.DeleteFile(objFile.Name)
    >
    > Next
    >
    > MsgBox strFileList
    >
    > Else
    > MsgBox "Could not ping " & strComputer
    > End If
    > WScript.Quit
    >
    > Function Ping(strComputer)
    > Dim objShell, boolCode
    > Set objShell = CreateObject("WScript.Shell")
    > boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0,
    > True)
    > If boolCode = 0 Then
    > Ping = True
    > Else
    > Ping = False
    > End If
    > End Function
    >
    > *************** END OF SCRIPT****************************


    This is a standard maintenance task that can be performed with very
    little coding, using standard Command Prompt commands, e.g. like so:
    01. @echo off
    02. echo.
    03. set /p PC=Please enter the IP or hostname that you want to look for a
    file on:
    04. set /p Name=Please enter the file name (no extension) to search for:
    05. set /p Ext=Please enter the extension of the file name to search for:
    06. if "%Name%"=="" goto :eof
    07. if "%PC%"=="" goto :eof
    08. if "%Ext%"=="" goto :eof
    09.
    10. ping %PC% | find /i "bytes=" > nul && goto Action
    11. echo Cannot reach PC "%PC%".
    12. goto Exit
    13.
    14. :Action
    15. set found=false
    16. echo del /s "\\%PC%\c$\%name%.%ext%"
    17. echo del /s "\\%PC%\d$\%name%.%ext%"
    18. rem del /s "\\%PC%\c$\%name%.%ext%" | find /i "deleted" > nul && set
    found=true
    19. rem del /s "\\%PC%\d$\%name%.%ext%" | find /i "deleted" > nul && set
    found=true
    20. if %found%==true (
    21. echo Files found and deleted on %PC%
    22. ) else (
    23. echo No files found on %PC%
    24. )
    25.
    26. :Exit
    27. echo Press the Space Bar to close this window.
    28. pause > nul

    Please note:
    - In its current form the batch file will run in demo mode. To activate
    it, delete lines 16 and 17 and remove the word "rem" at the
    beginning of lines 18 and 19.
    - You will find that WMI will be very, very slow when executing
    the VB Script you propose. The above batch file should be
    considerably faster. However, if you want really good speed
    then you should combine this batch file with psexec.exe. Post
    again if you need further details on this option.



  3. #3
    Shay Levi Guest

    Re: Script to Search and Delete Files from Remote Machines



    Try with LIKE Operator instaed:

    ....
    Set colFileList = objWMIService.ExecQuery("SELECT * FROM CIM_Datafile WHERE
    (Drive = 'c:' OR Drive = 'd:' OR Drive = 'e:') AND FileName LIKE '%error'
    AND Extension = '" & strExtension & "'")

    See:
    http://www.microsoft.com/technet/scr...2003/like.mspx


    ---
    Shay Levi
    $cript Fanatic
    http://scriptolog.blogspot.com

    > I need to delete some files from remote machines (eg: all files ending
    > with error.doc). I have got a script for the same. But the problem is
    > it will delete only the files I specify, like if I mention error.doc
    > it will delete only that particular file, it will not delete
    > newerror.doc. Can you please modify the following script for the same.
    > Also I need this script has to pick the machine names one by one from
    > a text file and perform the task
    >
    > ****************START OF SCRIPT**********************
    >
    > Option Explicit
    > Dim strComputer, strFileName, strExtension, boolFileFound,
    > strFileList,
    > objWMIService, colFileList, objFile, boolPinged, objFSO
    > strComputer = InputBox("Please enter the computer IP or hostname that
    > you want to look for a file on:", "Computer to search", "")
    > strFileName = InputBox("Please enter the file name (no extension) to
    > search for:", "File name to search for", "")
    > strExtension = InputBox("Please enter the extension of the file name
    > to
    > search for:", "File name extension to search for", "")
    > boolPinged = Ping(strComputer)
    > If boolPinged = "True" Then strFileList = "Files found and deleted on"
    > & strComputer & vbCrLf
    >
    > Set objWMIService =
    > GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer
    > & "\root\cimv2")
    >
    > Set colFileList = objWMIService.ExecQuery _
    > ("SELECT * FROM CIM_Datafile WHERE (Drive = 'c:' OR Drive =
    > 'd:' OR Drive = 'e:') AND FileName = '" & strFileName & "' AND
    > Extension
    > = '" & strExtension & "'")
    > On Error Resume Next
    >
    > For Each objFile In colFileList
    >
    > If Err Then
    > MsgBox "No files were found."
    > WScript.Quit
    >
    > End If
    >
    > strFileList = strFileList & objFile.Name & vbCrLf
    >
    > Set objFSO =
    > CreateObject("Scripting.FileSystemObject")
    > objFSO.DeleteFile(objFile.Name)
    >
    > Next
    >
    > MsgBox strFileList
    >
    > Else
    > MsgBox "Could not ping " & strComputer
    > End If
    > WScript.Quit
    > Function Ping(strComputer)
    > Dim objShell, boolCode
    > Set objShell = CreateObject("WScript.Shell")
    > boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0,
    > True)
    > If boolCode = 0 Then
    > Ping = True
    > Else
    > Ping = False
    > End If
    > End Function
    > *************** END OF SCRIPT****************************
    >
    > http://forums.techarena.in
    >





  4. #4
    binuthomas Guest
    Can Anyone Help Me To Do This Using Pstools.....?

  5. #5
    binuthomas Guest
    HI SHAY,

    i tried to use LIKE.bt dint work. can you just try the same n give me the script.

  6. #6
    Pegasus \(MVP\) Guest

    Re: Script to Search and Delete Files from Remote Machines

    Are you referring to psexec.exe?


    "binuthomas" <binuthomas.39nn7f@DoNotSpam.com> wrote in message
    news:binuthomas.39nn7f@DoNotSpam.com...
    >
    > Can Anyone Help Me To Do This Using Pstools.....?
    >
    >
    > --
    > binuthomas
    > ------------------------------------------------------------------------
    > binuthomas's Profile: http://forums.techarena.in/member.php?userid=49768
    > View this thread: https://forums.techarena.in/windows-server-help/970921.htm
    >
    > http://forums.techarena.in
    >




  7. #7
    binuthomas Guest

    thanks shay

    there was some prob wit my LIKE. now i got it. thanks dude. now i need one more favor. i need my script to pick machine names from a text file. how does it possible..

    thanks in advance

  8. #8
    Pegasus \(MVP\) Guest

    Re: Script to Search and Delete Files from Remote Machines


    "Shay Levi" <no@addre.ss> wrote in message
    news:89228ed22c12e8ca87d90c8f4b4c@news.microsoft.com...
    >
    >
    > You don't need PSTools, you can do it from your own machine using WMIC:


    No, the OP does not need psexec.exe. It's just that the job runs
    much faster with psexec than with WMI. Here are some actual
    measurements:

    Partition searched: C:
    No. of files on C: 5500
    Time needed to delete files: 120 seconds (using a VB Script)
    Time needed to delete files: 50 seconds (using psexec.exe)

    The difference is actually less than I thought but it is still
    substantial. If your salary was more than doubled you
    would think the rise was substantial too . . .

    By the way, you're consistently posting in the future. Either your
    PC time is incorrect or you have a problem with your time zone/
    daylight saving time settings.



  9. #9
    Shay Levi Guest

    Re: Script to Search and Delete Files from Remote Machines



    You don't need PSTools, you can do it from your own machine using WMIC:

    This command runs against the comuters specified in the /node param (delimited
    by a comma), it finds all files names ending with the word 'error' that have
    the doc extension, the results are redirected to a log file. Launch CMD and
    type:

    WMIC /node:Computer1,Computer1 path cim_datafile WHERE "(Drive = 'c:' OR
    Drive = 'd:' OR Drive = 'e:') AND FileName LIKE '%error' AND Extension ='doc'"
    delete > c:\delete.log


    You can get more info on WMIC here:

    WMIC - Take Command-line Control over WMI
    http://technet.microsoft.com/en-us/l.../bb742610.aspx



    ---
    Shay Levi
    $cript Fanatic
    http://scriptolog.blogspot.com

    > Can Anyone Help Me To Do This Using Pstools.....?
    >
    > http://forums.techarena.in
    >




  10. #10
    Shay Levi Guest

    Re: Script to Search and Delete Files from Remote Machines


    Just to make sure we're on the right path:

    Create a directory under C:, name it 'test', then create 3 text files with
    the default name (e.g 'new text doc...').
    Now run this in CMD:

    WMIC path cim_datafile WHERE "Drive = 'c:' AND path='\\test\\' AND FileName
    LIKE 'new%' AND Extension ='txt'" delete



    You should see similar output like below, which shows that the files were
    deleted using LIKE:


    C:>WMIC path cim_datafile WHERE "Drive = 'c:' AND path='\\test\\' AND FileName
    LIKE 'new%' AND Extension ='txt'" delete

    Deleting instance \\computerName\root\cimv2:CIM_DataFile.Name="c:\\test\\new
    text document (2).txt"
    Instance deletion successful.

    Deleting instance \\computerName\root\cimv2:CIM_DataFile.Name="c:\\test\\new
    text document (3).txt"
    Instance deletion successful.

    Deleting instance \\computerName\root\cimv2:CIM_DataFile.Name="c:\\test\\new
    text document.txt"
    Instance deletion successful.


    Right?


    ---
    Shay Levi
    $cript Fanatic
    http://scriptolog.blogspot.com

    > HI SHAY,
    >
    > i tried to use LIKE.bt dint work. can you just try the same n give me
    > the script.
    >
    > http://forums.techarena.in
    >




  11. #11
    Shay Levi Guest

    Re: Script to Search and Delete Files from Remote Machines


    Nice catch! The domain I'm in is not DST compliant yet. We hope to resolve
    it soon.
    Thanks for the performance check :)

    ---
    Shay Levi
    $cript Fanatic
    http://scriptolog.blogspot.com

    > "Shay Levi" <no@addre.ss> wrote in message
    > news:89228ed22c12e8ca87d90c8f4b4c@news.microsoft.com...
    >
    >> You don't need PSTools, you can do it from your own machine using
    >> WMIC:
    >>

    > No, the OP does not need psexec.exe. It's just that the job runs much
    > faster with psexec than with WMI. Here are some actual measurements:
    >
    > Partition searched: C:
    > No. of files on C: 5500
    > Time needed to delete files: 120 seconds (using a VB Script)
    > Time needed to delete files: 50 seconds (using psexec.exe)
    > The difference is actually less than I thought but it is still
    > substantial. If your salary was more than doubled you
    > would think the rise was substantial too . . .
    > By the way, you're consistently posting in the future. Either your PC
    > time is incorrect or you have a problem with your time zone/ daylight
    > saving time settings.
    >




  12. #12
    Shay Levi Guest

    Re: Script to Search and Delete Files from Remote Machines


    Put this in a bat file and run from CMD:

    for /f %%a in (computers.txt) do (
    WMIC /node:%%a path cim_datafile WHERE "(Drive = 'c:' OR Drive = 'd:' OR
    Drive = 'e:') AND FileName LIKE '%error' AND Extension ='doc'" > c:\logs\%%a.log
    )


    Make sure you have a folder named 'logs' on C drive, each computer will have
    its own log file in that directory.



    ---
    Shay Levi
    $cript Fanatic
    http://scriptolog.blogspot.com

    > there was some prob wit my LIKE. now i got it. thanks dude. now i need
    > one more favor. i need my script to pick machine names from a text
    > file. how does it possible..
    >
    > thanks in advance
    >
    > http://forums.techarena.in
    >




  13. #13
    binuthomas Guest

    Re: Script to Search and Delete Files from Remote Machines

    thanks shay,
    i was trying to run the batch file. but got the following error.


    D:\test1>for /F %a in (computers.txt) do (WMIC /node:%a path cim_datafile WHERE
    "(Drive = 'c:' OR Drive = 'd:' OR Drive = 'e:') AND FileName LIKE '\logs\%a.log
    )

    D:\test1>(WMIC /node:binupc_blr path cim_datafile WHERE "(Drive = 'c:' OR Drive
    = 'd:' OR Drive = 'e:') AND FileName LIKE '\logs\binupc_blr.log )
    Node - BINUPC_BLR
    ERROR:
    Code = 0x80041017
    Description = Invalid query
    Facility = WMI





    [QUOTE=Shay Levi;3745023]Put this in a bat file and run from CMD:

    for /f %%a in (computers.txt) do (
    WMIC /node:%%a path cim_datafile WHERE "(Drive = 'c:' OR Drive = 'd:' OR
    Drive = 'e:') AND FileName LIKE '%error' AND Extension ='doc'" > c:\logs\%%a.log
    )


    Make sure you have a folder named 'logs' on C drive, each computer will have
    its own log file in that directory.



    ---
    Shay Levi

  14. #14
    binuthomas Guest

    thanks shay

    shay,

    finally i made one script and able to delete file using LIKE. But i need a few modification in this.i will store all computer names in a text file, so the script has to pick machines one by one. And i need seperate logs for all machines with details from where it has deleted all the files. can you please help me. here is my script.

    Dim strComputer, strExtension

    strComputer = "."

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    Set colFiles = objWMIService.ExecQuery _
    ("SELECT * FROM CIM_Datafile WHERE (Drive = 'c:' ) AND FileName LIKE '%error' AND Extension = 'doc" & strExtension & "'")

    For Each objFile in colFiles
    objFile.Delete
    Next


    thanks in advance

    binu

  15. #15
    Shay Levi Guest

    Re: Script to Search and Delete Files from Remote Machines



    add the path component ane leave the extension as is, for example:

    WMIC /node:binupc_blr path cim_datafile WHERE "(Drive = 'c:' OR Drive = 'd:'
    OR Drive = 'e:') AND path ='\\logs\\' AND FileName LIKE 'binupc_blr%' AND
    extension ='log'"



    ---
    Shay Levi
    $cript Fanatic
    http://scriptolog.blogspot.com

    > thanks shay,
    > i was trying to run the batch file. but got the following error.
    > D:\test1>for /F %a in (computers.txt) do (WMIC /node:%a path
    > cim_datafile WHERE
    > "(Drive = 'c:' OR Drive = 'd:' OR Drive = 'e:') AND FileName LIKE
    > '\logs\%a.log
    > )
    > D:\test1>(WMIC /node:binupc_blr path cim_datafile WHERE "(Drive = 'c:'
    > OR Drive
    > = 'd:' OR Drive = 'e:') AND FileName LIKE '\logs\binupc_blr.log )
    > Node - BINUPC_BLR
    > ERROR:
    > Code = 0x80041017
    > Description = Invalid query
    > Facility = WMI
    > Shay Levi;3745023 Wrote:
    >
    >> Put this in a bat file and run from CMD:
    >>
    >> for /f %%a in (computers.txt) do (
    >> WMIC /node:%%a path cim_datafile WHERE "(Drive = 'c:' OR Drive = 'd:'
    >> OR
    >> Drive = 'e:') AND FileName LIKE '%error' AND Extension ='doc'" >
    >> c:\logs\%%a.log
    >> )
    >> Make sure you have a folder named 'logs' on C drive, each computer
    >> will
    >> have
    >> its own log file in that directory.
    >> ---
    >> Shay Levi

    > http://forums.techarena.in
    >




Page 1 of 2 12 LastLast

Similar Threads

  1. Script to search for and delete all files with extension xxx
    By Mike62 in forum Windows Server Help
    Replies: 3
    Last Post: 19-03-2012, 02:48 PM
  2. Script needed to Delete Files in a Directory Based on Date
    By adaher008 via WinServerKB.com in forum Windows Server Help
    Replies: 11
    Last Post: 02-01-2012, 01:44 AM
  3. Looking for a script to delete files older than 14 days
    By Michael Kapangama in forum Windows Server Help
    Replies: 3
    Last Post: 27-09-2008, 03:56 PM
  4. Delete files with logoff/on script
    By Pine Le in forum Windows Security
    Replies: 1
    Last Post: 03-06-2008, 11:19 PM
  5. Need a script to delete temporary ASP.NET files
    By Mak66 in forum Windows Server Help
    Replies: 2
    Last Post: 13-02-2008, 07:00 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Page generated in 1,713,593,773.49301 seconds with 16 queries