Principales respuestas
bat mover ficheros

Pregunta
-
Hola a todos/as
Tengo un .bat que mueve unos determinados ficheros de una ruta a otra. El bat funciona bien cuando hay ficheros en la carpeta, pero si no los hay, casca. Lo que he intentado entonces, es mirar si la carpeta está vacía antes de moverlos. Mirando por internet, en multitud de páginas, para comprobar que una carpeta está vacía, lo hacen mediante un bucle For. El código que uso para hacerlo, según lo que he visto investigando, es:
for /F %%i in ('dir /b /a "E:\IO\DataOut\EDI.Confirm\EDI_Confirm.DE04*.*"') do ( MOVE /y E:\IO\DataOut\EDI.Confirm\EDI_Confirm.DE04*.* E:\IO\DataOut\Historico\EDI.Confirm\ )
Sin embargo, cuando ejecuto el .bat, los ficheros no los mueve.
Alguna idea de qué estoy haciendo mal??
Saludos!
Respuestas
-
Perdone no me acordaba ya de este post, y acabo de verlo.
for /r %%i in (E:\IO\DataOut\EDI.Confirm\EDI_ShippingConfirm.DE04\*.*) do
MOVE /y %%i E:\IO\DataOut\Historico\EDI.Confirm\Pruebe lógicamente debería funcionar, yo acostumbro a ponerlo todo en la misma línea, si queda muy larga ya lo divido.
EDI_ShippingConfirm.DE04 -- es un directorio claro, añadí la barra.
Le faltaba %%i que es el archivo a copiar variable que se usa para todos los archivos uno tras otro.
Saludos.
- Marcado como respuesta CrepuX miércoles, 4 de mayo de 2016 16:45
Todas las respuestas
-
Hola a todos/as
Pongo esta consulta aquí ya que no encuentro el foro correspondiente. Estoy intentando hacer un .bat que mira si hay unos determinados ficheros en una ruta y los mueve a otra. El bat funciona bien cuando hay ficheros en la carpeta, pero si no los hay, casca. Lo que he intentado entonces, es mirar si la carpeta está vacía antes de moverlos. Mirando por internet, en multitud de páginas, para comprobar que una carpeta está vacía, lo hacen mediante un bucle For. El código que uso para hacerlo, según lo que he visto investigando, es:
for /F %%i in ('dir /b /a "E:\IO\DataOut\EDI.Confirm\EDI_Confirm.DE04*.*"') do ( MOVE /y E:\IO\DataOut\EDI.Confirm\EDI_Confirm.DE04*.* E:\IO\DataOut\Historico\EDI.Confirm\ )
Sin embargo, cuando ejecuto el .bat, los ficheros no los mueve. Si quito el for y solo dejo el move, funciona, pero cascaría si la carpeta está vacía.
Alguna idea de qué estoy haciendo mal??
Saludos!
- Combinado Enrique M. Montejo jueves, 21 de abril de 2016 16:54 Pregunta relacionada con Scripting.
-
-
-
-
Hola ytvmeem!
Tiene que estar forzosamente el .bat en el directorio origen?? He construido este .bat, pero no mueve los ficheros. No se si tengo algo mal:
for /r %%i in (E:\IO\DataOut\EDI.Confirm\EDI_ShippingConfirm.DE04*.*) do ( MOVE /y E:\IO\DataOut\EDI.Confirm\EDI_ShippingConfirm.DE04*.* E:\IO\DataOut\Historico\EDI.Confirm )
Si pudiera darme una pista, soy todo ojos
Saludos!
-
for /r %%i in (E:\IO\DataOut\EDI.Confirm\EDI_ShippingConfirm.DE04\*.*) do
MOVE /y %%i E:\IO\DataOut\Historico\EDI.Confirm\Pruebe lógicamente debería funcionar, yo acostumbro a ponerlo todo en la misma línea, si queda muy larga ya lo divido.
EDI_ShippingConfirm.DE04 -- es un directorio claro, añadí la barra.
Le faltaba %%i que es el archivo a copiar variable que se usa para todos los archivos uno tras otro.
Saludos.
-
Perdone no me acordaba ya de este post, y acabo de verlo.
for /r %%i in (E:\IO\DataOut\EDI.Confirm\EDI_ShippingConfirm.DE04\*.*) do
MOVE /y %%i E:\IO\DataOut\Historico\EDI.Confirm\Pruebe lógicamente debería funcionar, yo acostumbro a ponerlo todo en la misma línea, si queda muy larga ya lo divido.
EDI_ShippingConfirm.DE04 -- es un directorio claro, añadí la barra.
Le faltaba %%i que es el archivo a copiar variable que se usa para todos los archivos uno tras otro.
Saludos.
- Marcado como respuesta CrepuX miércoles, 4 de mayo de 2016 16:45
-