Aqui está um bom exemplo de como executar um comando se um arquivo existe ou não:
if exist C:\myprogram\sync\data.handler echo Now Exiting && Exit
if not exist C:\myprogram\html\data.sql Exit
Vamos pegar esses três arquivos e colocá-los em um local temporário. Após excluir a pasta, ele restaurará esses três arquivos.
xcopy "test" "C:\temp"
xcopy "test2" "C:\temp"
del C:\myprogram\sync\
xcopy "C:\temp" "test"
xcopy "C:\temp" "test2"
del "c:\temp"
Use o comando XCOPY :
xcopy "C:\myprogram\html\data.sql" /c /d /h /e /i /y "C:\myprogram\sync\"
Vou explicar o que /c /d /h /e /i /y
significa:
/C Continues copying even if errors occur.
/D:m-d-y Copies files changed on or after the specified date.
If no date is given, copies only those files whose
source time is newer than the destination time.
/H Copies hidden and system files also.
/E Copies directories and subdirectories, including empty ones.
Same as /S /E. May be used to modify /T.
/T Creates directory structure, but does not copy files. Does not
include empty directories or subdirectories. /T /E includes
/I If destination does not exist and copying more than one file,
assumes that destination must be a directory.
/Y Suppresses prompting to confirm you want to overwrite an
existing destination file.
`To see all the commands type`xcopy /? in cmd
Ligue para outro arquivo em lotes com a opção sync.bat myprogram.ini.
Não sei ao certo o que você quer dizer com isso, mas se você deseja apenas abrir esses dois arquivos, basta colocar o caminho do arquivo como
Path/sync.bat
Path/myprogram.ini
Se estava no ambiente Bash, era fácil para mim, mas não sei como testar se existe um arquivo ou pasta e se é um arquivo ou pasta.
Você está usando um arquivo em lotes. Você mencionou anteriormente que precisa criar um arquivo .bat para usar isso:
Eu tenho que criar um arquivo .BAT que faz isso: