Aquí es un buen ejemplo de cómo hacer un comando Si un archivo o no existe:
if exist C:\myprogram\sync\data.handler echo Now Exiting && Exit
if not exist C:\myprogram\html\data.sql Exit
tomaremos esos tres archivos y lo puso en un lugar temporal. Después de eliminar la carpeta, restaurará esos tres archivos.
xcopy "test" "C:\temp"
xcopy "test2" "C:\temp"
del C:\myprogram\sync\
xcopy "C:\temp" "test"
xcopy "C:\temp" "test2"
del "c:\temp"
utilizar el comando XCOPY:
xcopy "C:\myprogram\html\data.sql" /c /d /h /e /i /y "C:\myprogram\sync\"
voy a explicar lo que significa que el /c /d /h /e /i /y
:
/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
Call otro archivo por lotes con la opción sync.bat myprogram.ini.
no estoy seguro de lo que quiere decir con esto, pero si lo que desea es abrir ambos archivos que acaba de poner la ruta del archivo como
Path/sync.bat
Path/myprogram.ini
Si lo fue en el Entorno Bash fue fácil para mí, pero no sé saber cómo probar si existe un archivo o una carpeta y si es un archivo o una carpeta .
Está utilizando un archivo por lotes. Usted ha mencionado anteriormente que tiene que crear un archivo .bat para utilizar este:
tengo que crear un archivo que hace esto:
¿Cómo funciona un cheque ruta completa con el nombre de archivo? Puntos de bonificación si la ruta contiene espacios. Como dijo OP, simple en BASH. – Nick
@Nick: Simple en 'cmd' también - por favor haga una pregunta diferente - no cuestan mucho. Es probable que agregar un comentario adicional a uno que tenga más de 3 años genere muchas respuestas (pero primero verifique SO para obtener respuestas a esta pregunta precisa, de lo contrario, obtendrá su nueva pregunta marcada como duplicada ...) – Magoo
Algo a tener en cuenta en el archivo de ayuda 'IF /?': 'La cláusula ELSE debe aparecer en la misma línea que el comando después del IF. Esto me quemó. espero que te ayude – funkymushroom