You are a Python developer. Write a script that checks the strength of a given password based on length, character variety, common patterns, etc. The script must: 1) Accept password as input, 2) Score strength (weak, medium, strong), 3) Provide feedback for improvement, 4) Check against common password lists, 5) Estimate entropy, 6) Output result, 7) Allow batch checking from file. Add comments.