Problem is that the system command doesn't work. It "works", but in a separate subprocess that exits right away. Current directory doesn't propagate up to the calling process (also, as you're not checking the return code, the command wouldn't fail, even with a non-existing directory. Note that it happens here, as the directory name has spaces in it and isn't quoted...).
You would have to use os.chdir for that, but you don't even need it.
If you want to run a command in a specific location, just pass the absolute path of the command (and since it's using string literals, always use r prefix to avoid that some \t or \n chars are interpreted as special characters...). For instance with python 3, with the command line provided there's an error (but okay in python 2...):
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 5-6: truncated \UXXXXXXXX escape
So always use raw prefix. Here's how I would rewrite that:
current_dir = r"C:\Users\User\AppData\Windows\Start Menu\Programs"
subprocess.Popen(os.path.join(current_dir,"file.exe"))
And if you really need that the current directory is the same as the exe, use cwd parameter. Also get the return value of Popen to be able to wait/poll/kill/whatever and get command exit code:
p = subprocess.Popen(os.path.join(current_dir,"file.exe"),cwd=current_dir)
# ...
return_code = p.wait()
As a side note, be aware that:
p = subprocess.Popen("file.exe",cwd=current_dir)
doesn't work, even if file.exe is in current_dir (unless you set shell=True, but it's better to avoid that too for security/portability reasons)
Note that os.system is deprecated for a lot of (good) reasons. Use subprocess module, always, and if there are argument, always with an argument list (not string), and avoid shell=True as much as possible.
os.systemcall only changes the directory for that call. A shell is opened, the command is executed, and the shell is closed. Useos.chdirinstead to change the scripts working directory.os.getcwd(); os.system("cd Desktop"); os.getcwd()will display the same directory and no change will happen. This happens regardless of me being in an interactive python shell, or running a .py file.