pickletech
IS-IT--Management
Hello everyone. I am running a script that searches a hard drive for certain files. Unfortunately I keep getting a 'Permission Denied' error. I am not sure why I am getting it because I am not changing the files. Is there any way to check permissions on a file/folder? Below is my code...
Dim FSO, WSH, objDirectory, objFile, TheFiles
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("Wscript.Shell")
Set objDirectory = FSO.GetFolder(InputBox("Enter Beginning Folder Path"))
Set TheFiles = objDirectory.Files
Parentfolder = mid(fso.GetFolder(objDirectory),InStrRev(fso.GetFolder(objDirectory),"\",-1,0)+1,len(fso.GetFolder(objDirectory)) - InstrRev(fso.GetFolder(objDirectory),"\",-1,0))
strSearchString = InputBox("Enter search string")
If FSO.FileExists ("FileNames " & Parentfolder & ".txt") Then
FSO.DeleteFile "FileNames " & Parentfolder & ".txt"
End If
Set txtFileName = FSO.CreateTextFile ("FileNames " & Parentfolder & ".txt",TRUE)
Set txtFileName = Nothing
Set txtFileName = FS
penTextFile("FileNames " & Parentfolder & ".txt", 8)
WorkWithSubFolders objDirectory
txtFileName.Close
'****************************************************************************************
Sub WorkWithSubFolders(objDirectory)
Dim MoreFolders, TempFolder
ListFilesWithString objDirectory
Set MoreFolders = objDirectory.SubFolders
For Each TempFolder In MoreFolders
WorkWithSubFolders TempFolder
Next
End Sub
'****************************************************************************************
Sub ListFilesWithString(objDirectory)
Dim TheFiles
Set TheFiles = objDirectory.Files
For Each objFile In TheFiles
strFileName = fso.GetFileName(objFile.Path)
If InStr(1, strFileName, strSearchString, 1) > 0 Then
txtFileName.writeline objFile.Path & vbtab & objFile.Size
end If
Next
End Sub
The error happens with the ListFilesWithString Sub.
Thank You,
Pickletech
Dim FSO, WSH, objDirectory, objFile, TheFiles
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("Wscript.Shell")
Set objDirectory = FSO.GetFolder(InputBox("Enter Beginning Folder Path"))
Set TheFiles = objDirectory.Files
Parentfolder = mid(fso.GetFolder(objDirectory),InStrRev(fso.GetFolder(objDirectory),"\",-1,0)+1,len(fso.GetFolder(objDirectory)) - InstrRev(fso.GetFolder(objDirectory),"\",-1,0))
strSearchString = InputBox("Enter search string")
If FSO.FileExists ("FileNames " & Parentfolder & ".txt") Then
FSO.DeleteFile "FileNames " & Parentfolder & ".txt"
End If
Set txtFileName = FSO.CreateTextFile ("FileNames " & Parentfolder & ".txt",TRUE)
Set txtFileName = Nothing
Set txtFileName = FS
WorkWithSubFolders objDirectory
txtFileName.Close
'****************************************************************************************
Sub WorkWithSubFolders(objDirectory)
Dim MoreFolders, TempFolder
ListFilesWithString objDirectory
Set MoreFolders = objDirectory.SubFolders
For Each TempFolder In MoreFolders
WorkWithSubFolders TempFolder
Next
End Sub
'****************************************************************************************
Sub ListFilesWithString(objDirectory)
Dim TheFiles
Set TheFiles = objDirectory.Files
For Each objFile In TheFiles
strFileName = fso.GetFileName(objFile.Path)
If InStr(1, strFileName, strSearchString, 1) > 0 Then
txtFileName.writeline objFile.Path & vbtab & objFile.Size
end If
Next
End Sub
The error happens with the ListFilesWithString Sub.
Thank You,
Pickletech