This should work:
:LOOP
copy H:\Arco\examplefile.csv A:\DSE\Open_Access_Data\ARCo /y
timeout /t 1800
goto :LOOP
That will copy your files every 30 seconds and overwrite any existing files.
Note: The timeout
command is only availble in Vista and above, if you need to use this on XP let me know.
To launch the batch file on system startup you can either put it in the startup folder of the user or use the registry.
The startup folder for the current user is
C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
For all users
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
Or you can use the registry which I personally prefer. Create a string value with the path to your batch file in
Current user
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Computer users
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Both registry options will require admin rights though.
To do either startup or registry in batch respectively
copy %0 "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" /y
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v "MyBatchFile" /d "%0" /f
Which will either copy itself to startup or add itself to the registry each time it runs. So you can either do it manually or have it do this itself (above commands) from the first time you run it.
The %0
is the batch files own path, if you want to use the commands from somewhere else, or just from cmd then type in the full path of the batch file instead.