Eu tenho que criar um .BAT
arquivo que faça isso:
- Se
C:\myprogram\sync\data.handler
existir, saia; - Se
C:\myprogram\html\data.sql
não existir, saia; - Ao
C:\myprogram\sync\
excluir todos os arquivos e pastas, exceto (test
,test3
etest2
) - Copiar
C:\myprogram\html\data.sql
paraC:\myprogram\sync\
- Chamar outro arquivo batch com a opção
sync.bat 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.
windows
batch-file
cmd
cusspvz
fonte
fonte
cmd
também - faça uma pergunta diferente - eles não custam muito. Não é provável que adicionar um comentário adicional a uma pergunta com mais de três anos receba muitas respostas (mas verifique primeiro o SO para obter respostas a essa pergunta precisa; caso contrário, sua nova pergunta será marcada como duplicada ...)IF /?
arquivo de ajuda:The ELSE clause must occur on the same line as the command after the IF.
Isso me queimou. espero que ajude você.If Not Exist "%FilePath% ( command )
. Observe que, bat usa aparelho em(
vez de aparelho{
Digite IF /? para obter ajuda sobre se, explica claramente como usar o IF EXIST.
Para excluir uma árvore completa, exceto algumas pastas, consulte a resposta desta pergunta: Script em lote do Windows para excluir tudo em uma pasta, exceto uma
Finalmente, copiar significa apenas chamar COPY e chamar outro arquivo bat, pode ser feito assim:
fonte
Aqui está um bom exemplo de como executar um comando se um arquivo existe ou não:
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.
Use o comando XCOPY :
Vou explicar o que
/c /d /h /e /i /y
significa: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
Você está usando um arquivo em lotes. Você mencionou anteriormente que precisa criar um arquivo .bat para usar isso:
fonte