Muszę utworzyć .BAT
plik, który to robi:
- Jeśli
C:\myprogram\sync\data.handler
istnieje, wyjdź; - Jeśli
C:\myprogram\html\data.sql
nie istnieje, wyjdź; - W
C:\myprogram\sync\
usunąć wszystkie pliki i foldery z wyjątkiem (test
,test3
itest2
) - Skopiuj
C:\myprogram\html\data.sql
doC:\myprogram\sync\
- Wywołaj inny plik wsadowy z opcją
sync.bat 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.
windows
batch-file
cmd
cusspvz
źródło
źródło
cmd
też - zadaj inne pytanie - nie kosztują dużo. Dodanie kolejnego komentarza do pytania, które ma więcej niż 3 lata, prawdopodobnie nie przyniesie wielu odpowiedzi (ale najpierw sprawdź SO, aby uzyskać odpowiedzi na to dokładne pytanie, w przeciwnym razie nowe pytanie zostanie oznaczone jako duplikat ...)IF /?
pliku pomocy:The ELSE clause must occur on the same line as the command after the IF.
To mnie spaliło. mam nadzieję, że ci to pomoże.If Not Exist "%FilePath% ( command )
. Zauważ, że nietoperz używa nawiasów klamrowych(
zamiast nawiasów klamrowych{
Wpisz IF /? aby uzyskać pomoc, jeśli, to wyraźnie wyjaśnia, jak używać JEŚLI ISTNIEJE.
Aby usunąć całe drzewo oprócz niektórych folderów, zobacz odpowiedź na to pytanie: skrypt wsadowy systemu Windows, aby usunąć wszystko w folderze oprócz jednego
Wreszcie kopiowanie oznacza po prostu wywołanie COPY, a wywołanie innego pliku nietoperza można wykonać w następujący sposób:
źródło
Oto dobry przykład wykonania polecenia, jeśli plik istnieje lub nie istnieje:
Weźmiemy te trzy pliki i umieścimy je w tymczasowym miejscu. Po usunięciu folderu przywróci te trzy pliki.
Użyj polecenia XCOPY :
Wyjaśnię, co
/c /d /h /e /i /y
oznaczają: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
Używasz pliku wsadowego. Wspomniałeś wcześniej, że musisz utworzyć plik .bat, aby użyć tego:
źródło