This should work. You can call it with a button by putting "CopyFile" in your button_click code. Or you could just put all the code within the sub directly into the button if you would like.
If you don't mind me asking, what are you intending your batch file to do?
Private Sub CopyFile()
'Get the current users startup path. It will look like this:
'C:\Users\*Current User*\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Dim strStartupFolder As String = System.Environment.GetFolderPath(Environment.SpecialFolder.Startup)
'The destination for the batch file. It will look like this:
'C:\Users\*Current User*\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\run.bat
Dim strDestination As String = strStartupFolder & "\run.bat"
'The file to copy
Dim strFileToCopy As String = "C:\run.bat"
'If the file does not already exist, copy the batch file to the startup path
If File.Exists(strDestination) = False Then