elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  -> Programación BATCH Avanzada. (nuevo)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 Ir Abajo Respuesta Imprimir
Autor Tema: -> Programación BATCH Avanzada. (nuevo)  (Leído 420,614 veces)
xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #150 en: 10 Diciembre 2010, 21:25 »

No es que vaya peor, es que te comiste un porcentaje:
Código
  1.   for %%a in (*.doc) do
  2.   (
  3.       set /a archivo = "%a"
  4.       set /a contador = !contador! + 1
  5.       echo !contador! !archivo! >>reporte.txt
  6.       7z.exe a -t7z "%%~na".7z "%%~na".doc -mx9 -bd>nul
  7.       REM otros comandos . . .
  8.   )
  9.  


En línea

FJPPitta

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #151 en: 10 Diciembre 2010, 23:35 »

Si me equivoque en la sentencia pero con:

Código:
set file=%%~na

puedo asignar el nombre de un archivo a la variable file utilizando doble porcentaje, y para guardarlo en un txt solo le puse

Código:
   echo !contador! : !file! >>reporte.txt

asi le pongo un contador y el nombre del archivo y los voy guardando :D


En línea

Saludos
FJPPittta
FJPPitta

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #152 en: 14 Diciembre 2010, 21:20 »

Tengo una duda, de una lista de archivos es posible cuyos nombres en ocasiones se incluyen caracteres como un ! e posible localizar dichos archivos y renombrarlos cambiando el ! por un espacio o cualquier otra cosa?
En línea

Saludos
FJPPittta
xassiz~


Desconectado Desconectado

Mensajes: 457



Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #153 en: 14 Diciembre 2010, 22:05 »

Código
  1. @echo off
  2.  
  3. set "archivo=test!.txt"
  4.  
  5. set/a contador=0
  6.  
  7. :loop
  8. call set letra=%%archivo:~%contador%,1%%
  9. if "%letra%"=="!" (set boolean=true)
  10. set/a contador+=1
  11. if defined letra (goto:loop)
  12.  
  13. if "%boolean%"=="true" (echo:rename %archivo% %archivo:!=%) else (echo:No tiene !)
  14.  
::)
En línea

Edo_Degauss

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #154 en: 3 Enero 2011, 20:14 »

Saludos a todo tengo una duda en cuanto a programacion en BATCH

resulta que tengo que hacer una rutina que la tengo lista pero no se como terminar lo ultimo que me queda.

La 1era parte consiste en que el batch hace un BACK UP de la base de datos y me la comprime ..

La 2da parte la sube a un FTP

Pero necesito que todo esto se haga en uno solo , osea termina de comprimir el Backup y lo empieze a subir al FTP

el problema que tengo es que despues de que hace el back up y empieza a comprimir se ejecuta y empieza a subirse, por ende error por que todavia no termina la compresion y se ejecuta la uplodeada..

el codigo que tengo es este


back up - rar

set FECHA= %date%
set FECHA=%FECHA:/=%

SQLCMD -SEDO\SQL2K8CS -E -i"C:\Users\---\Desktop\backup.sql" >> "C:\logs\Backup%FECHA%.log"

Start winrar a -dr -ep1 "BK.rar" C:\test\*.*


Sube al FTP

set FECHA= %date%
set FECHA=%FECHA:/=%

ftp -s:batch-ftp.txt ftp.acquire.com.au >>  "C:\logs\details_upload%FECHA%.log"

cd C:\Documents and Settings\ecabello\Desktop
del "BK.rar"


habia intentado hacerlo todo desde un BAT y consegui esto

call c:\Users\--\Desktop\backup.bat



:start
PING -a 127.0.0.1 >nul

:batch2
call c:\Users\--\Desktop\batch.bat


if exist "C:\test\BK.bak"

(GOTO start)

if not exist "C:\test\BK.bak"

(GOTO batch2)


Pero todavia no termina el rar y ya se ejecuta para subirlo..

mis preguntas son

Hay alguna forma de que se detecte cuando termine el rar?
o de como solucionaro..

Agradeceria mucho su ayuda desde ya..

gracias de antemano






En línea

Germaniac

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #155 en: 4 Enero 2011, 06:11 »

Intenta usando Start con el parametro /wait
Cambia
Código:
Start winrar a -dr -ep1 "BK.rar" C:\test\*.*
por
Código:
Start /wait winrar a -dr -ep1 "BK.rar" C:\test\*.*

En línea

aaronezpino

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #156 en: 3 Febrero 2011, 20:07 »

Hola

Necesito programar un archivo bat que me haga lo sig...
Preguntar una cadena de hora (cuatro digitos, formato HHMM ) , una vez hecho esto, que renombre "archivo1" a "nombre1HHMM", "archivo2 " a "nombre2HHMM".

Usé el sig código...

Código
  1. @echo off
  2. set /p HHMM = Escribe la hora formato HHMM
  3. ren C:\archivo1.png %nombre1HHMM%.png


ya lo intenté con los sig cambios en el renglón 3.
Código:
%nombre1HHMM%.png
nombre1HHMM.png
nombre1%HHMM%.png
%nombre1HHMM.png%

y no funciona.

¿Alguien sabe como le puedo hacer?

Saludos
« Última modificación: 3 Febrero 2011, 21:15 por Leo Gutiérrez. » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #157 en: 3 Febrero 2011, 21:19 »

Primero debes decirnos de donde sacaremos los archivos "archivo1", "archivo2", etc.

¿Los da el usuario con set /p, los cogemos del directorio actual, o simplemente están seteados en el
código?

Otra cosa, los código deben ir con su correspondiente etiqueta, de no ser así tu mensaje será eliminado.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
DameBanda

Desconectado Desconectado

Mensajes: 65


Hollywood Whore


Ver Perfil
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #158 en: 27 Febrero 2011, 12:37 »

Hola TxShack

La respuesta a porque no fnciona es facil:
Porque si te fijas en tu code pones
Código:
if %clave%==fark (goto bien) else goto :menu
me parece que para que funcionase bastaría con quitarle los 2 puntos a :menu y meterlo entre paréntesis. Para que hagas copy-paste te dejo el code de forma que funcione.
Lo que no tengo ni idea es de si se puede bloquear la X...

Código:
@echo off
cd c:\
echo @echo off > pass.bat
echo :menu >> pass.bat
echo echo. >> pass.bat
echo INTRODUCIR CLAVE >> pass.bat
echo echo. >> pass.bat
echo set /p clave= >> pass.bat
echo if %clave%==fark (goto bien) else goto :menu >> pass.bat
echo :bien >> pass.bat
echo cls >> pass.bat
echo echo. >> pass.bat
echo echo ACCESO VALIDADO >> pass.bat
echo echo. >> pass.bat
echo pause >> pass.bat
echo exit >> pass.bat
reg add HKLM\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Run /v pass /d C:\pass.bat
start c:\pass.bat
exit

Creo que así te funcionaría aunque seria mejor crear 2 archivos puesto que al introducir ciertos caracteres en un batch manda error...  :-\
En línea

"Amarillo, pensó" Douglas Adams




[img]http:/
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: -> Programación BATCH Avanzada. (nuevo)
« Respuesta #159 en: 27 Febrero 2011, 17:46 »

Los puntos no afectan, lo que afecta es el uso o no de los paréntesis, usenlos.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines