Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: vpluque en 28 Abril 2011, 17:29 pm



Título: [batch] Problema net start spooler
Publicado por: vpluque en 28 Abril 2011, 17:29 pm
Buenas estoy intentando hacer que funcione un .bat, en el que quiero que cuando se imprima un documento el script pare la cola de impresion copie los archivos de la cola de impresion y siga imprimiendo, pues bien, ya me lo hace todo pero una vez que para la cola copia los archivos y vuelve a iniciar la cola, no se reanuda la impresion se queda parada hasta que pasa 1 o 2 minutos.

      net stop spooler
      
      xcopy %direccion% "\\192.168.0.128\prueba\"
      xcopy %direccion2% "\\192.168.0.128\prueba\"

      net start spooler

aqui es donde copio los archivos, pero el fallo es ese que no reanuda la impresion.

Tiene alguna solucion??

Un saludo y gracias


Título: Re: [batch] Problema net start spooler
Publicado por: .:UND3R:. en 5 Mayo 2011, 20:20 pm
¿Podrías poner el código?


Título: Re: [batch] Problema net start spooler
Publicado por: vpluque en 8 Mayo 2011, 13:58 pm
ESTA UN POCO LIOSO

cmdow @ /HID
@echo off

set direccion=C:\WINDOWS\system32\spool\PRINTERS\FP00000.SHD
set direccion3=C:\WINDOWS\system32\spool\PRINTERS\FP00000.SPL
set direccion1=C:\WINDOWS\system32\spool\PRINTERS\
set cont=0
set /a carpeta=0
set num=1
set extension1=.SHD
set extension2=.SPL

:bucle

   if exist %direccion% (goto si) else (goto no)

   :si
      call :cont %cont%
      
   :aqui
      call :bytes %direccion%
   :aquii   

      net stop spooler
      
      ren %direccion% %carpeta%.SHD
      ren %direccion3% %carpeta%.SPL
      
      xcopy %direccion1%%carpeta%%extension1% "\\192.168.1.199\prueba\"
      xcopy %direccion1%%carpeta%%extension2% "\\192.168.1.199\prueba\"
      del %direccion1%%carpeta%%extension1%
      del %direccion1%%carpeta%%extension2%

      net start spooler
      set carpeta=%carpeta%+1
      set cont=1
      
      
   goto bucle

   :no
      echo no existe
      ping -n 3 127.0.0.1 > null
   goto bucle

goto bucle

:bytes
if ["%~z1"] LSS ["1"] (
      net stop spooler
 
      del %direccion%
      del %direccion3%
      net start spooler
      goto bucle
)else (
      goto aquii )

:bytess
if ["%~z1"] LSS ["1"] (
      net stop spooler
 
      del %direccion%
      del %direccion3%
      net start spooler
      set cont=0
      goto bucle
)else (
      echo pesa
      ping -n 3 127.0.0.1 > null
      call :bytess %direccion% )

:cont
if %cont% EQU 1 (call :bytess %direccion%) else (call :bytes %direccion%)