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


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 [593] 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 ... 1253
5921  Programación / Scripting / Re: tema(batch) de un txt,crear varios txt, renombrado en: 21 Febrero 2015, 20:11 pm
No te recomiendo utilizar una herramienta limitada como es Batch para este tipo de tareas, por no decir que además es muy lento al procesar texto.

Te muestro un ejemplo que puedes adaptar a tus necesidades por ti mismo:


Source


Código
  1. @Echo OFF & SetLocal EnableDelayedExpansion
  2.  
  3. Set    "inputFile=.\Archivo.txt"
  4. Set /A "fileCount=1"
  5.  
  6. Echo [+] ".\ZZZ%fileCount%.txt"
  7. For /F "UseBackQ Tokens=* Delims=" %%a In ("%inputFile%") Do (
  8.  
  9. Set "line=%%~a"
  10. Echo !line!
  11. (Echo !line!)>>".\zzzz!fileCount!.txt"
  12. If /I "!line:~0,4!" EQU "N490" (
  13. Set /A "fileCount+=1"
  14. Echo [+] ".\ZZZ!fileCount!.txt"
  15. )
  16.  
  17. )
  18.  
  19. Pause&Exit /B 0


Output


Código:
[+] ".\ZZZ1.txt"
ZZZ
 X0.0  Y0.0  Z30.0
M601
M2
G0 Z-100.0
N1  G1 X240.1 Y324.9 Z3.6 F2
N2  G1 X239.5 Y325.5 Z4.9 F2
N3  G1 X238.8 Y326.1 Z4.9 F2
N4  G1 X238.2 Y326.8 Z2.4 F2
N5  G1 X237.6 Y327.4 Z1.4 F2
N6  G1 X247.5 Y317.5 F2
N490  G1 X240.7 Y324.3 Z0.5 F2

[+] ".\ZZZ2.txt"
N1  G1 X240.1 Y324.9 Z3.6 F2
N2  G1 X239.5 Y325.5 Z4.9 F2
N3  G1 X238.8 Y326.1 Z4.9 F2
N4  G1 X238.2 Y326.8 Z2.4 F2
N5  G1 X237.6 Y327.4 Z1.4 F2
N6  G1 X237.0 Y328.0 Z0.9 F2
N490  G1 X236.4 Y328.6 Z0.7 F2

[+] ".\ZZZ3.txt"
N1 G1 X235.7 Y329.2 Z3.3 F2
N2  G1 X235.1 Y329.8 Z4.1 F2
N3  G1 X234.5 Y330.5 Z0.8 F2
N4  G1 X233.9 Y331.1 Z1.7 F2
N5  G1 X233.3 Y331.7 Z4.9 F2
N6  G1 X232.6 Y332.3 Z3.7 F2
N490  G1 X232.0 Y332.9 Z1.1 F2

[+] ".\ZZZ4.txt"
N1  G1 X231.4 Y333.6 Z0.6 F2
N2  G1 X230.8 Y334.2 Z0.6 F2
N3  G1 X230.2 Y334.8 Z4.2 F2
N4  G1 X229.6 Y335.4 Z5.0 F2
N5  G1 X228.9 Y336.0 Z5.0 F2
N6  G1 X228.3 Y336.7 Z5.0 F2
N490  G1 X226.5 Y338.5 Z1.0 F2

[+] ".\ZZZ5.txt"
G0 Z-100.0
G0 Y0
Presione una tecla para continuar . . .
5922  Sistemas Operativos / Windows / Re: problema de permisos en el escritorio en: 21 Febrero 2015, 19:47 pm
Activa la cuenta oculta "Administrador", es una cuenta que tiene ese nombre, y a diferencia de las demás cuentas del grupo Adminisradores, tiene más privilegios sobre todas las acciones.

En consola:
Código:
Net User "Administrador" /Active:"Yes"

Cierra sesión y logueate en la nueva cuenta "Administrador".

Saludos
5923  Programación / Scripting / Re: Ayuda con Bat o Vbs en: 20 Febrero 2015, 19:33 pm
Modo de empleo
Código:
CScript.exe ".\Script.vbs" ".\Archivo1.txt" ".\Archivo2.txt" "etc..."


Source
Código
  1. ' Example: RegEx capture in textfile, By Elektro
  2.  
  3. Option Explicit
  4.  
  5. Dim args, arg, _
  6.    outPath, fullpath, fileName, fileExt, _
  7.    fso, file, fileContent, _
  8.    rgx, rgxMatches, rgxMatch, rgxValue
  9.  
  10. Set args = WScript.Arguments
  11. If args.Count = 0 Then
  12.   Wscript.Echo("Any filepath specified.")
  13.   Wscript.Quit(1)
  14. End If
  15.  
  16. outPath = ".\Output\"
  17. Set fso = WScript.CreateObject("Scripting.FileSystemObject")
  18. If Not fso.FolderExists(outPath) Then
  19.   Call fso.CreateFolder(outPath)
  20. End If
  21.  
  22. ' El primer grupo de esta expresión captura el string "cash out:" plus el valor decimal.
  23. ' El cuarto grupo de esta expresión captura el valor decimal.
  24. Set rgx = New RegExp
  25.    rgx.Pattern    = "Cash(\s+)?out(\:)?(\s+)?([\d\.]+)"
  26.    rgx.IgnoreCase = True
  27.    rgx.Global     = True
  28.  
  29. For Each arg in args
  30.  
  31.   fullPath    = fso.GetAbsolutePathName(arg)
  32.   fileName    = fso.GetBaseName(fullPath)
  33.   fileExt     = fso.GetExtensionName(fullPath)
  34.   fileContent = fso.OpenTextFile(fullPath, 1).ReadAll
  35.  
  36.   Set rgxMatches = rgx.Execute(fileContent)
  37.   Set file       = fso.CreateTextFile(outPath & "\" & fileName & "_new" & "." & fileext)
  38.  
  39.   Wscript.Echo("[+] Processing file: " & fullPath)
  40.   For Each rgxMatch in rgxMatches
  41.      rgxValue = rgxMatch.Submatches(3)
  42.      Wscript.Echo(rgxValue)
  43.      Call file.WriteLine("Cash Out: " & rgxValue)
  44.   Next
  45.  
  46.   file.Close
  47.  
  48. Next
  49.  
  50. Wscript.Quit(0)


Output

  • .\Archivo1.txt
Código:
asdadasdasdasd asdsadas asdasdasd cash out: 1.97 asdasdas asdasda
asdadasdasdasd asdsadas asdasdasd cash out: 212.34 asdasdas asdasda

  • .\Outpu\Archivo1_new.txt
Código:
Cash Out: 1.97
Cash Out: 212.34


Saludos
5924  Programación / .NET (C#, VB.NET, ASP) / Re: Pasar informacion de un textbox a un archivo de texto. en: 20 Febrero 2015, 18:38 pm
lo que yo quiero es que en la linea 3 me escriba el texto que yo tenga en un textbox.

⇲ Utiliza la propiedad Text del TextBox:
TextBox.Text Property (System.Windows.Controls) - MSDN

⇲ E intenta evitar el uso de metodologías de VisualBasicScript en Vb.Net, puedes desarrollar el código usando puro código .Net:
StreamWriter Class (System.IO) - MSDN - Microsoft

Ejemplo:
Código
  1. Imports System.IO
  2. Imports System.Text
  3.  
  4. Public Class Form1
  5.  
  6.    Private Sub WriteFile()
  7.  
  8.        Dim sw As StreamWriter = Nothing
  9.  
  10.        Try
  11.            sw = New StreamWriter(path:="C:\prueba.txt", append:=False, encoding:=Encoding.Default)
  12.            Using sw
  13.                sw.WriteLine("Primera liinea")
  14.                sw.WriteLine("Segunda linea")
  15.                sw.WriteLine(Me.TextBox1.Text)
  16.            End Using
  17.  
  18.        Catch ex As Exception
  19.            Throw
  20.  
  21.        Finally
  22.            If sw IsNot Nothing Then
  23.                sw.Dispose()
  24.            End If
  25.  
  26.        End Try
  27.  
  28.    End Sub
  29.  
  30. End Class


EDITO:
Ora forma de llevarlo a cabo (por ejemplo) sería usando un StringBuilder:
Código
  1. Imports System.IO
  2. Imports System.Text
  3.  
  4. Public Class Form1
  5.  
  6.    Private Sub WriteFile()
  7.  
  8.        Dim sb As New StringBuilder
  9.        With sb
  10.            .Appendline("Primera liinea")
  11.            .Appendline("Segunda liinea")
  12.            .Appendline(Me.TextBox1.Text)
  13.        End With
  14.  
  15.        Try
  16.            File.WriteAllText("C:\prueba.txt", sb.ToString, Encoding.Default)
  17.  
  18.        Catch ex As Exception
  19.            Throw
  20.  
  21.        Finally
  22.            sb.Clear
  23.  
  24.        End Try
  25.  
  26.    End Sub
  27.  
  28. End Class
  29.  

Saludos
5925  Programación / Scripting / Re: variables en batch en: 20 Febrero 2015, 18:18 pm
y si la devolucion no es un numero? como seteas a la variable?? xq el set /a es para numeros no?
Para setear valores numéricos se añade el modificador "Set /A", para strings, simplemente "Set".

si no uso el usebackq, me desconoce la palabra sqlplusy me pide inicializarla
El problema no es con el nombre del exe (sqlplus.exe) sino con la variable "path_sql" que me imagino que será una variable de entorno definida por la instalación de SQL, y seguramente la variable contiene comillas dobles al principio y al final, y por eso habrás visto o leido por ahí que utilizan el modificador "usebackq", es para poder trabajar esas comillas dobles.
El problema es que ese modificador altera el comportamiento de las comillas y comillas dobles, y la expresión del FOR se vuelve bastante tediosa/compleja de escribir con la sintaxis correcta, la redirección (^| Findstr...) no te va a funcionar correctamente a menos que le quites el "usebakq".

Cuando se usa 'usebackq', los problemas siemrpe son por el uso inadecuado de las comillas/comillas dobles.

Seguramente te estoy mareando porque, como ya comenté, no tengo el sqlplus para testear y corregir la expresión del FOR... pero prueba de esta manera, debería funcionar:

Código
  1. @Echo OFF
  2.  
  3. REM Declaro una variable que almacenará el valor de la variable 'path_sql', pero sin comillas dobles, las elimino.
  4. Set sqlPath=%path_sql%
  5. Set sqlPath=%sqlPath:"=%
  6.  
  7. For /F "Tokens=* Delims=" %%a In ('""sqlplus.exe" -s QA_DATAC/qa_dc@orcl_qa @^'%sqlPath%^'ESTADISTICA | "FindStr.exe" "[0-9]""') Do (
  8. Echo %%~a
  9. )
  10.  
  11. Pause&Exit /B 0

EDITO: Por despiste puse la variable que no era en la expresión FOR (^'path_sql^' en lugar de ^'sqlPath^'), ya está correjido.

¿te funciona?

Saludos
5926  Programación / Scripting / Re: variables en batch en: 20 Febrero 2015, 16:34 pm
¿Porque usas el modificador 'usebackq' ?, estás cambiando el comportamiento de las comillas de la expresión del For, prueeba sin ese modificador.

EDITO: Ah, por cierto, el Echo del primer For no te va a funcionar por que no estás expandiendo la variable:
Citar
Código:
FOR /F "usebackq delims=!" %%c in (`sqlplus -s QA_DATAC/qa_dc@orcl_qa @%PATH_SQL%ESTADISTICA ^|Findstr "[0-9]"`) DO (
SET /A "VALUE=%%c"
ECHO %VALUE%
PAUSE
)
Pero fuera del bloque del For si que podrás visualizar el contenido de la variable, que eso es lo que supuestamente quieres.

Para que te funcione ese ejemplo que he citado, utiliza la declaración "Setlocal enabledelayedpexpansion" (y usa el símbolo !! en lugar de %% para mostrar variables) o simplemente añade un call y duplica los símbolos reservados de variable:
Código:
CALL ECHO %%VALUE%%


EDITO 2: Te muestro un ejemplo funcional:

Script1.cmd
Código
  1. @Echo OFF
  2.  
  3. For /F "Tokens=* Delims=" %%# In (
  4. 'Echo 123'
  5. ) Do (
  6. Set /A "var=%%#"
  7. Call Echo Variable dentro del FOR="%%Var%%"
  8. Call ".\Script2.cmd"
  9. )
  10.  
  11. Pause&Exit

Script2.cmd
Código
  1. @Echo OFF
  2.  
  3. Echo Variable desde otro script="%var%"
  4.  
  5. Exit /B 0

Saludos
5927  Programación / Scripting / Re: variables en batch en: 20 Febrero 2015, 15:31 pm
no puedo hacer un
Código:
 set %result%=%%i
por que no le pasa el valor a la variable

Jamás podrás hacer eso de esa manera, estás utilizando caracteres reservados de variable (%%) al definir el nombre de una variable. Batch no te avisará del error, pero no puedes hacer eso.

me gustaria saber de que manera puedo entregarle la informacion obtenida de una query o de un txt como les sea mas facil , a una variable, para poder usar esta variable CON el valor fuera del bat, gracias >:D

Código:
For /F ...%%# In ('sqli... ^| Findstr "[0-9]"') Do (Set /A "Value=%%#")

Con eso puedes utilizar la variable fuera del búcle del FOR, como ya comenté.

Si por "utilizar la variable fuera del bat" te refieres a que una vez haya terminado todo el Script, puedas utilizar la variable en cualquier otra instancia de la CMD, entonces debes definir una variable de entorno en el sistema operativo:
Código:
setx "nombre" "valor"
(es necesario reiniciar la instancia de la CMD para que los cambios surjan efecto)

Saludos
5928  Programación / Scripting / Re: Ayuda con Bat o Vbs en: 20 Febrero 2015, 15:17 pm
Intente algo como esto pero no me sirve aun

Código:
@echo off
(
findstr "Cash out:" 1.txt
findstr "Cash out:" 2.txt
findstr "Cash out:" 3.txt
) > "4.txt"

Esperaba algo de salida como
Cash out:
Cash out:
Cash out:

Batch es un lenguaje muy limitado y una herramienta inutil para ese tipo de tareas.

El comando FIND/FINDSTR buscan coincidencias en una linea, y muestran la linea, no capturan la parte parcial de la linea que coincide con el patrón de búsqueda.

Sigue el consejo del compañero @MCKSys Argentina, utiliza VisualBasicScript, pero utiliza expresiones regulares (RegEx) que es más cómodo.

Saludos!
5929  Sistemas Operativos / Windows / Re: Duda respecto a quejas sobre Windows 8, 8.1 en: 20 Febrero 2015, 15:13 pm


Mi opinión es totalmente CONTRARIA al respecto, pienso (y mi experiencia en mi trabajo con montones de equipos con todo tipo de sistemas operativos creo que hace mi opinión bastante cualificada) que el win8 es INFERIOR en absolutamente todos los aspectos al win7. El win8 es un sistema operativo en mi experiencia que podría calificar sin excederme demasiado de execrable. Y me da la impresión de que en cuanto salga una nueva versión de windows va a desaparecer del mercado (si es que alguna vez a estado mas que minimamente presente en este) mas rápido que un pastel a la puerta de un colegio. Vamos algo así como lo que pasó con el win me o con el win vista (a pesar de que el vista no era tan malo como se decía ni mucho menos). Mucho después de que ya nadie recuerde al win8 el win7 aun tendrá una gran cuota de uso (lo cual en parte demuestra la calidad de cada uno), y si no tiempo al tiempo jeje.
Saludos...

Songoku


Cuando se lance al mercado "Windows 10" (u otros) yo también creo que Windows 8/8.1 "desaparecerá" del mercado y de la boca de todos en menos tiempo de lo que cuesta hacer un chasquido, y entonces poco a poco Windows 7 pasará a ser "el nuevo XP" (el sistema que usará la mayoría de gente por su relación calidad/rendimiento/compatibilidad), pero no creo que Windows 8/8.1 vaya a quedar como un mal recuerdo que olvidar como sucedió con Vista, ni mucho menos.

Saludos!
5930  Informática / Software / Re: Programa para editar archivos en grandes cantidades a la vez. (.txt o .html) en: 20 Febrero 2015, 00:31 am
Utiliza la característica "reemplazar todo" que suelen tener esos editores, para reemplazar todas las coincidencias de espacios por un guión...

En Sublime Text simplemente es pulsar la combinación CTRL+H para abrir el panel de reemplazar, y CTRL+ALT+ENTER para reemplazar todo.

Saludos.
Páginas: 1 ... 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 [593] 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 ... 1253
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines