Condicionales if y detector de dispositivos en batch

Iniciado por XxhookomxX, 22 Noviembre 2017, 18:19 PM

0 Miembros y 1 Visitante están viendo este tema.

XxhookomxX

Buenas, soy nuevo con esto de batch y tengo la duda, con condicionales if ¿Como hago para decir que un archivo existe y si no pues que cree el archivo y al mismo tiempo pueda detectar los dispositivos través de un ciclo for para que cada vez que se detecte el dispositivo el ciclo haga lo suyo? tengo un codigo pero se me dificulta hacer lo de los if  :silbar:   :-(

Código (bash) [Seleccionar]
@echo off
rem autoejecución del ciclo
:return
rem detector de unidades
for %%u in (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, s, t, u, v, w, x, y, z) do (
dir /b %%u:\ > nul 2>&1 && (
echo Unidad "%%u:" detectada
)
)

rem copiador de archivo

if exist ("%%u:pepe/archivo.txt")  (
start "%%u:pepe/archivo.txt"
) else (
MKDIR ["%%u:pepe/archivo.txt"]
goto return
echo hola
)

Eleкtro

#1
Cita de: XxhookomxX en 22 Noviembre 2017, 18:19 PM¿Como hago para decir que un archivo existe y si no pues que cree el archivop

El comando MKDIR es para crear directorios, no archivos. Además de eso, no estás escribiendo correctamente la letra de unidad, te falta añadir el "\" despues del ":". Y tampoco deberías acostumbrarte a invertir el caracter "\" por "/", ya que muchos comandos de Batch no aceptarán esa sintaxis.

Para crear un nuvo archivo, puedes utilizar el comando externo FSUTIL:
Código (dos) [Seleccionar]
FSUTIL.exe file createnew "File.txt" 0

Cita de: XxhookomxX en 22 Noviembre 2017, 18:19 PMy al mismo tiempo pueda detectar los dispositivos través de un ciclo for

Aquí compartí una solución:

Si prefieres algo más completo, también compartí esto otro:

Saludos