Necesito ejecutar una utilidad solo si existe un archivo determinado. ¿Cómo hago esto en el lote de Windows?Cómo verificar si existe un archivo desde un archivo por lotes
Respuesta
if exist <insert file name here> (
rem file exists
) else (
rem file doesn't exist
)
O en una sola línea (aunque sólo sea una sola acción tiene que ocurrir):
if exist <insert file name here> <action>
por ejemplo, esto abre la libreta en el autoexec.bat, si existe el archivo:
if exist c:\autoexec.bat notepad c:\autoexec.bat
C:\>help if
Realiza procesamiento condicional en programas por lotes.
SI [NO] comando
ERRORLEVEL número SI [NO] cadena1 == cadena2 comando
SI [NO] EXISTE comando nombre de archivo
intentar algo así como lo siguiente ejemplo, citado de la salida de IF /?
en Windows XP:
IF EXIST filename. ( del filename. ) ELSE ( echo filename. missing. )
También puede verificar si falta un archivo con IF NOT EXIST
.
El comando IF
es bastante potente. La salida de IF /?
recompensará la lectura cuidadosa. Para el caso, pruebe la opción /?
en muchos de los otros comandos incorporados para obtener muchas gemas ocultas.
¿Por qué el '.' al final del nombre del archivo? ¿Es un error tipográfico? – Everyone
Cité el texto de ayuda del comando 'IF' real integrado en CMD.EXE, que tenía esos puntos. No sé por qué los incluyeron, parece inconsistente. Por supuesto, lo que realmente necesita la palabra clave 'EXIST' es un nombre de archivo válido, que puede ser totalmente calificado. Otros comandos usan la expresión idiomática '[unidad:] [ruta] nombre_archivo' en lugar del texto' nombre_de_archivo'. Utilícela aquí, que obviamente es más clara. – RBerteig
- 1. ¿cómo puedo verificar si existe un archivo?
- 2. Incluir un archivo por lotes en un archivo por lotes
- 3. ¿Cómo comprobar si existe un archivo ejecutable en% PATH% desde un archivo de proceso por lotes de Windows?
- 4. ejecutar un archivo por lotes desde C#
- 5. ¿Cómo verificar si un archivo existe en un archivo .BAT de DOS (Windows Command Prompt)?
- 6. Cómo verificar si existe un archivo con el script VB
- 7. ¿Cómo puedo verificar si existe un archivo usando Emacs Lisp?
- 8. ¿Cómo puedo verificar si existe un archivo en Perl?
- 9. ¿Comprueba si el archivo existe y ejecuta un archivo por lotes en PowerShell?
- 10. ¿Cómo ejecutar un archivo por lotes desde Java?
- 11. Cómo ejecutar un script por lotes (archivo .bat) desde eclipse
- 12. ¿Cómo ejecuto un archivo por lotes desde mi aplicación Java?
- 13. Intentando verificar si existe un archivo en el almacenamiento interno
- 14. Cómo comprobar si un archivo existe en un archivo MAKE
- 15. ¿Cómo verificar si un archivo existe en un servidor web por su URL?
- 16. determinar si existe una unidad flash de un archivo por lotes sin mensajes de error
- 17. ¿Manera pitónica de verificar si existe un archivo?
- 18. ¿Puedo verificar si existe un archivo en una URL?
- 19. ¿Puedo verificar si existe un archivo en una URL?
- 20. Cómo comprobar si existe un archivo desde una url
- 21. Obteniendo errorlevel desde un archivo por lotes llamado
- 22. ¿Cómo puedo crear un archivo WinRar SFX de ejecución automática desde un archivo por lotes?
- 23. Control de devolución desde un archivo por lotes
- 24. Ejecutar .jar desde archivo por lotes
- 25. Iniciar varias aplicaciones de consola desde un archivo por lotes
- 26. enviando correo desde el archivo por lotes
- 27. Ejecutando rake desde el archivo por lotes
- 28. Ejecutando vbscript desde el archivo por lotes
- 29. ¿Cómo verifico si existe un archivo en un control remoto?
- 30. ¿Cómo causo un error en MSBuild si existe un archivo?
Si se trata de rutas con espacios: http://stackoverflow.com/questions/138981/how-do-i-test-if-a-file-is-a-directory-in-a-batch-script – Nick
@loopkin - 'else' es válido, vea" if /? " ... "La cláusula ELSE debe ocurrir en la misma línea que el comando después del IF. Por ejemplo: [... numerosos ejemplos de uso ...]" –
@ chris-j Gracias, Chris, tienes razón, parece que el paréntesis tiene que estar en la misma línea que el otro. Eso es lo que estaba haciendo mal. Creo que nunca me acostumbraré a la sintaxis por lotes :( – loopkin