Oto dobry przykład wykonania polecenia, jeśli plik istnieje lub nie istnieje:
if exist C:\myprogram\sync\data.handler echo Now Exiting && Exit
if not exist C:\myprogram\html\data.sql Exit
Weźmiemy te trzy pliki i umieścimy je w tymczasowym miejscu. Po usunięciu folderu przywróci te trzy pliki.
xcopy "test" "C:\temp"
xcopy "test2" "C:\temp"
del C:\myprogram\sync\
xcopy "C:\temp" "test"
xcopy "C:\temp" "test2"
del "c:\temp"
Użyj polecenia XCOPY :
xcopy "C:\myprogram\html\data.sql" /c /d /h /e /i /y "C:\myprogram\sync\"
Wyjaśnię, co /c /d /h /e /i /y
oznaczają:
/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
Wywołaj inny plik wsadowy z opcją sync.bat myprogram.ini.
Nie jestem pewien, co masz na myśli, ale jeśli chcesz tylko otworzyć oba te pliki, po prostu umieść ścieżkę do pliku w następujący sposób
Path/sync.bat
Path/myprogram.ini
Jeśli było to w środowisku Bash, było to dla mnie łatwe, ale nie wiem, jak sprawdzić, czy plik lub folder istnieje i czy jest to plik lub folder.
Używasz pliku wsadowego. Wspomniałeś wcześniej, że musisz utworzyć plik .bat, aby użyć tego:
Muszę utworzyć plik .BAT, który to robi: