Guest User

Untitled

a guest
Mar 23rd, 2021
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. import sys
  2. import os
  3. from pathlib import Path
  4. sys.path.append("rarfile-master")
  5. import rarfile
  6. import win32api
  7.  
  8. drives = win32api.GetLogicalDriveStrings()
  9. drives = drives.split('\000')[:-1]
  10. def search(path):
  11. files = []
  12. print("Searching for password protected rar files in " + path + " - This may take a while\n")
  13. p = sorted(Path(path).glob('**/*.rar'))
  14. for item in p:
  15. try:
  16. with rarfile.RarFile(item) as rf:
  17. if rf.needs_password():
  18. print(rf.filename)
  19. files.append(rf.filename)
  20. except:
  21. pass
  22. f = open("file_list.txt","a")
  23. if len(files) > 0:
  24. for item in files:
  25. f.write(item + "\n")
  26. f.close()
  27. print("Results written to file_list.txt\n")
  28. else:
  29. print("No results found on " + path)
  30.  
  31. def get_response():
  32. response = input(">>> ")
  33. if len(response) == 1:
  34. try:
  35. search(drives[int(response)])
  36. except:
  37. if response == 'A' or response == 'a':
  38. for entry in drives:
  39. search(entry)
  40. else:
  41. print("invalid input - try again\n")
  42. get_response()
  43. else:
  44. print("too many letters in input - try again\n")
  45. get_response()
  46.  
  47. for i in range(len(drives)):
  48. print(str(i) + " : " + drives[i])
  49. print("Type the corresponding number of the drive you want to search or type 'A' for all drives\n")
  50. get_response()
  51. def get_response():
  52. response = input(">>> ")
  53. if len(response) == 1:
  54. try:
  55. search(drives[int(response)])
  56. except:
  57. if response == 'A' or response == 'a':
  58. for entry in drives:
  59. search(entry)
  60. else:
  61. print("invalid input - try again\n")
  62. get_response()
  63. else:
  64. print("too many letters in input - try again\n")
  65. get_response()
  66.  
  67.  
  68.  
Advertisement
Add Comment
Please, Sign In to add comment