Ms-Dos - Crear carpetas y subcarpetas solo si no existen

 
Vista:
Imágen de perfil de Felix

Crear carpetas y subcarpetas solo si no existen

Publicado por Felix (3 intervenciones) el 23/12/2015 17:21:38
Estimados amigos del foro, me gustaría crear ciertas carpetas en la USB y en el PC usando bat, perro que lo haga solo si no existen, si ya existen solo continuar, (pues tengo otro procedimiento en el caso de ya existir)
el código que estoy usando es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
Title CREAR CARPETA
Cls
Rem En el USB
Rem Introduzca la USB al computador para poder crear las carpetas!!
Rem si ya exiten no hacer nada, solo continuar
Md E:\CopyPC-USB\AlPC
Md E:\CopyPC-USB\DelPC
 
Rem En el PC
Rem si ya exiten no hacer nada, solo continuar
Md C:\Users\User\Documents\CopyPC-USB\AlUSB
Md C:\Users\User\Documents\CopyPC-USB\DelUSB
 
echo LISTO
Pause
Agradezco anticipadamente su colaboración
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Crear carpetas y subcarpetas solo si no existen

Publicado por Antoni Masana (811 intervenciones) el 24/12/2015 09:15:12
Hay dos formas de hacelo,

- la chapucera

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
Title CREAR CARPETA
Cls
Rem En el USB
Rem Introduzca la USB al computador para poder crear las carpetas!!
Rem si ya exiten no hacer nada, solo continuar
 
Md E:\CopyPC-USB\AlPC  >nul 2>nul
Md E:\CopyPC-USB\DelPC >nul 2>nul
 
Rem En el PC
Rem si ya exiten no hacer nada, solo continuar
Md C:\Users\User\Documents\CopyPC-USB\AlUSB  >nul 2>nul
Md C:\Users\User\Documents\CopyPC-USB\DelUSB >nul 2>nul
 
echo LISTO
Pause

- Y la elegante

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
Title CREAR CARPETA
Cls
Rem En el USB
Rem Introduzca la USB al computador para poder crear las carpetas!!
Rem si ya exiten no hacer nada, solo continuar
 
if not exist E:\CopyPC-USB\AlPC\nul   Md E:\CopyPC-USB\AlPC
if not exist E:\CopyPC-USB\DelPC\nul  Md E:\CopyPC-USB\DelPC
 
Rem En el PC
Rem si ya exiten no hacer nada, solo continuar
if not exist C:\Users\User\Documents\CopyPC-USB\AlUSB   Md C:\Users\User\Documents\CopyPC-USB\AlUSB
if not exist C:\Users\User\Documents\CopyPC-USB\DelUSB  Md C:\Users\User\Documents\CopyPC-USB\DelUSB
 
echo LISTO
Pause

Saludos

\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Felix

Crear carpetas y subcarpetas solo si no existen

Publicado por Felix (3 intervenciones) el 24/12/2015 16:27:46
Gracias por apoyarme. Mi falta de experiencia no distingue entro lo chapucero y lo elegante, los dos modos reconocen en caso de no haber las carpetas y las crean, de lo contrario no las crean, eso es justamente lo que quería. Sin embargo si ejecuto desde la PC el bat y no he puesto el dispositivo en el puerto Drive usb, esperaría un mensaje que me lo advierta y eso no lo he conseguido para que la creación de las carpetas me permita escoger solo en la PC o solo en USB o ambos. En este caso solo si tengo conectado el dispositivo funciona en ambos, caso contrario solo funciona para la PC y sale este mensaje:

CrearCarpetas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antonio Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Crear carpetas y subcarpetas solo si no existen

Publicado por Antonio Masana (811 intervenciones) el 25/12/2015 11:27:45
No entendí bien lo que querías en el primer correo.

La diferencia entre lo chapucero y lo elegante radica en que en el segundo se verifica si existe antes de crearlo, y el el primero se deja al sistema que lo haga y se esconde el error

Pero tu pregunta no va por ahí.

La idea de tu problema es verificar que esta el dispositivo USB conectado.

Bien esto tiene un pequeño inconveniente y es que a priori no puedes estar seguro de que letra le asignara el sistema.

Te voy a dar varias soluciones y cuando aplicarlas.

Solución - 1 - Siempre es la misma unidad:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@echo off
 
Title CREAR CARPETA
Cls
Rem En el USB
Rem Introduzca la USB al computador para poder crear las carpetas!!
Rem si ya exiten no hacer nada, solo continuar
 
IF NOT EXIST E:\nul GOTO Falta
 
   if not exist E:\CopyPC-USB\AlPC\nul   Md E:\CopyPC-USB\AlPC
   if not exist E:\CopyPC-USB\DelPC\nul  Md E:\CopyPC-USB\DelPC
 
   Rem En el PC
   Rem si ya exiten no hacer nada, solo continuar
 
   if not exist C:\Users\User\Documents\CopyPC-USB\AlUSB   Md C:\Users\User\Documents\CopyPC-USB\AlUSB
   if not exist C:\Users\User\Documents\CopyPC-USB\DelUSB  Md C:\Users\User\Documents\CopyPC-USB\DelUSB
 
   echo LISTO
   Pause
 
   GOTO:EOF
 
:Falta
 
   ECHO No puedo localizar el dispositivo USB


Solución - 2 - No se que unidad sera asignada:

Las siguientes unidades se ignoran

A: - Primera Disquetera
B: - Segunda Disquetera
C: - Disco duro y principal
D: - CD o DVD

Por lo que empezamos en la E:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@echo off
 
Title CREAR CARPETA
Cls
Rem En el USB
Rem Introduzca la USB al computador para poder crear las carpetas!!
Rem si ya exiten no hacer nada, solo continuar
 
set Dsk=
 
FOR %%a IN ( E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF "%Dsk%" == "" IF %%A:\nul  SET Dsk=%%a:
 
IF "%DSK%" == "" GOTO Falta
 
   if not exist %Dsk%\CopyPC-USB\AlPC\nul   MD %Dsk%\CopyPC-USB\AlPC
   if not exist %Dsk%\CopyPC-USB\DelPC\nul  MD %Dsk%\CopyPC-USB\DelPC
 
   Rem En el PC
   Rem si ya exiten no hacer nada, solo continuar
 
   if not exist C:\Users\User\Documents\CopyPC-USB\AlUSB   Md C:\Users\User\Documents\CopyPC-USB\AlUSB
   if not exist C:\Users\User\Documents\CopyPC-USB\DelUSB  Md C:\Users\User\Documents\CopyPC-USB\DelUSB
 
   echo LISTO - Dispositivo USB  en %Dsk%
   Pause
 
   GOTO:EOF
 
:Falta
 
   ECHO No puedo localizar el dispositivo USB


Solución - 3 - No se que unidad sera asignada pero es que ademas puedo tener otros dispositivos conectados:

Las siguientes unidades se ignoran

A: - Primera Disquetera
B: - Segunda Disquetera
C: - Disco duro y principal
D: - CD o DVD

Por lo que empezamos en la E:

En el dispositivo USB crea en el directorio raiz un fichero de identificación, por ejemplo PC-USB.LBL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@echo off
 
Title CREAR CARPETA
Cls
Rem En el USB
Rem Introduzca la USB al computador para poder crear las carpetas!!
Rem si ya exiten no hacer nada, solo continuar
 
set Dsk=
 
FOR %%a IN ( E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF "%Dsk%" == "" IF %%A:\PC-USB.LBL  SET Dsk=%%a:
 
IF "%DSK%" == "" GOTO Falta
 
   if not exist %Dsk%\CopyPC-USB\AlPC\nul   MD %Dsk%\CopyPC-USB\AlPC
   if not exist %Dsk%\CopyPC-USB\DelPC\nul  MD %Dsk%\CopyPC-USB\DelPC
 
   Rem En el PC
   Rem si ya exiten no hacer nada, solo continuar
 
   if not exist C:\Users\User\Documents\CopyPC-USB\AlUSB   Md C:\Users\User\Documents\CopyPC-USB\AlUSB
   if not exist C:\Users\User\Documents\CopyPC-USB\DelUSB  Md C:\Users\User\Documents\CopyPC-USB\DelUSB
 
   echo LISTO - Dispositivo USB  en %Dsk%
   Pause
 
   GOTO:EOF
 
:Falta
 
   ECHO No puedo localizar el dispositivo USB

Espero haberte podido ayudar

Saludos y Feliz Navidad

\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Felix

Crear carpetas y subcarpetas solo si no existen

Publicado por Felix (3 intervenciones) el 26/12/2015 05:21:22
Lo del identificador del USB el PC-USB.LBL es bueno aunque no he visto hasta ahora una extensión lbl supongo que viene de label o etiqueta.
Gracias por el código, es genial.
Con esto este Tema queda solucionado

Igualmente Feliz Navidad!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar