Question: is there a way to execute the batch(\*.bat) file from a sharepoint designer workflow? 

I've a specific column in the sharepoint list, a batch file should be executed whenever the value of the field is changed. I just want to design a sharepoint designer workflow to be triggered whenever the value of the site column is changed and it should execute the batch file.

Or is there batter approach to follow?

Answer: 
I would suggest that you create a custom workflow activity to do the stuff instead of a batch file. Since your only gathering info from a list and producing a file this should be quite easy.
My recommendation is to create a powershell script that runs as a scheduled task. This powershell script will look for a change in a list value item (custom column). When the column changes then the powershell script performs your action.
I hope that gets you going in the right direction,
Dan