The key question here is not the technical merits or c# over bat files but your organisations approach to the underlying processes.
If the organisation is trying to formalise the processes, so that they always happen the same way and can be automated as much as possible; then you will want to ensure that the code used is always the correct version, changes are controlled, input is validated, it has a user interface which requires minimal changes, errors are caught, audit trails are kept etc.
These things soon becomes too much for bat files and even powershell will be stretched.
Additionally, professional dev practices like source control, versioning, deployment etc are designed with these non functional requirements in mind and geared towards compiled 'proper' programming languages.
Your choice should be to implement the whole process in a website or other accessible application, in a 'proper' language.
However! Its not always the case that the organisation wants to formalise their processes. If the workforce is technically proficient in the scripting language and the process is required to be flexible and 'human', each engineer will want to have their own customised script library to automate their work which they are able to update and change as they require. A UI will not be desired as cli commands will be preferred because they can be called from other scripts. Logging and audit trails will be seen as unnecessary 'red tape' that gets in the way of productivity.
If you try to formalise the processes in such an environment your application will quickly become out of date and unused. Key assumption about the process that it will rely on to successfully work will not be followed and the app will cease to function correctly.
In such a case moving away from the scripts is a mistake. You have to recognise the human factor, in formalising the application you are changing peoples work day, you are changing their job. This can only be done if it is enforced by the organisation, or supported by the workers involved.