By default, the current directory for your Windows service is the System32 folder. When you try to access a file or folder using a relative path it will throw you off. Use the following code in your C# application and you are all set
System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);
Similarly if you run a batch script as an administrator it defaults to System32 folder as home directory. Add the following lines in your batch script to set the execution directory as current directory.
@setlocal enableextensions
@cd /d "%~dp0"