Why so complicated? Just use a simple batchfile with variables, put variables at the beginning of your file where you can easily change them, don't forget to add option --status to update the status window regulary
this way you can just use relative paths like ..\hashcat.exe, no need for adding or changing environment
but never the less, i think the problem lies in your result, i dont think subprocess.run "returns" values, was looking through some old python files and i used subprocess.check_output to grab the output from a process
EDIT: okay was missing capture output
So the question is what output do you receive? subprocess.run will only return output after the whole process finishes, so you will have to wait quite some time depending on your hashspeed
this way you can just use relative paths like ..\hashcat.exe, no need for adding or changing environment
but never the less, i think the problem lies in your result, i dont think subprocess.run "returns" values, was looking through some old python files and i used subprocess.check_output to grab the output from a process
EDIT: okay was missing capture output
So the question is what output do you receive? subprocess.run will only return output after the whole process finishes, so you will have to wait quite some time depending on your hashspeed