Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - EdePC

#1011
- Otra opción más elaborada es utilizar For:

CitarD:\55>Dir /B
asd 252567.txt
dfg 475898.txt
lop 696948.txt
tyu 127898.txt

D:\55>For %a In (*) Do Ren "%a" "55 %a"

D:\55>Dir /B
55 asd 252567.txt
55 dfg 475898.txt
55 lop 696948.txt
55 tyu 127898.txt

D:\55>

- Si vas a usar un archivo Batch (.cmd o .bat) para ejecutar el For recuerda usar doble %%:

Código (dos) [Seleccionar]
For %%a In (*) Do Ren "%%a" "55 %%a"
#1012
Saludos,

- Ahí dice que el archivo debe pesar varios cientos de megabytes y por eso no lo pone en la cuarentena, así que simplemente lo eliminó XD.

- Supongo que se trata de un instalador o ISO de algún juego (el mythology ese), lo más común es que retoquen el fichero steam_api.dll, dependerá mucho de la persona que haya preparado el steam_api.dll de lo que sea capaz de hacer.
#1013
Saludos,

- Si vas a imprimir caracteres desde un archivo Batch debes de guardar dicho archivo con la codificación UTF-8, dependiendo de tu editor de texto la opción de guardar bajo cierta codificación debe estar disponible.

- Para que se entiendan tanto el archivo batch como la CMD ambos deben "hablar el mismo idioma" o por lo menos el que va a interpretar o escuchar tiene que abarcar una codificación que incluya a la otra. Por ejemplo si guardas tu Batch como utf-8 pero la Cmd solo entiende Ansi (Windows 1252) no se va a interpretar bien.

El siguiente ejemplo me funciona correctamente, primero se guarda la codificación actual en una variable _chcp, luego cambia la codificación a utf-8 e imprime €uro, al final restablece la codificación.

Código (dos) [Seleccionar]
@Echo Off

For /F "tokens=5" %%a In ('ChCp') Do Set _chcp=%%a
ChCp 65001 >nul
Echo €uro
ChCp %_chcp% >nul

Pause
#1014
Saludos,

- El comando Ren es muy flexible y acepta comodines:

CitarD:\55>dir

Directorio de D:\55

08/03/2020  07:47 a.m.    <DIR>          .
08/03/2020  07:47 a.m.    <DIR>          ..
08/03/2020  07:47 a.m.                 3 asd 252567.txt
08/03/2020  07:47 a.m.                 3 dfg 475898.txt
08/03/2020  07:47 a.m.                 3 lop 696948.txt
08/03/2020  07:47 a.m.                 3 tyu 127898.txt
               4 archivos             12 bytes
               2 dirs  107,230,031,872 bytes libres

D:\55>ren * "*.* 55"

D:\55>dir


Directorio de D:\55

08/03/2020  07:48 a.m.    <DIR>          .
08/03/2020  07:48 a.m.    <DIR>          ..
08/03/2020  07:47 a.m.                 3 asd 252567.txt 55
08/03/2020  07:47 a.m.                 3 dfg 475898.txt 55
08/03/2020  07:47 a.m.                 3 lop 696948.txt 55
08/03/2020  07:47 a.m.                 3 tyu 127898.txt 55
               4 archivos             12 bytes
               2 dirs  107,230,031,872 bytes libres

D:\55>
#1015
Saludos,

- Si es para algo más "fijo" puedes crear una tarea programada que ejecute tu x.py cada x tiempo.

- Si algo más "de ves en cuando" puedes usar el comando TimeOut o el fiable Ping:

Código (dos) [Seleccionar]
@Echo Off
Rem Ejecuta notepad.exe cada 5 segundos
:bucle
  ping -n 6 127.0.0.1 >nul
  Start notepad
  GoTo :bucle


- Ping envía un paquete en el segundo 0, por esto hay que darle un paquete más para precisar los segundos adecuados, si se necesitan 5 segundos hay que decirle 6 paquetes.
#1016
Dudas Generales / Re: Los tipos de hackers
5 Marzo 2020, 16:32 PM
Saludos,

- Hay algunos vídeos imparciales que hablan del tema de forma sencilla, por ejemplo:

[youtube=640,360]https://www.youtube.com/watch?v=FYQ7t9dLLN8[/youtube]

- Si quieres darle más contexto al entorno puedes ver este otro vídeo completo o dirigirte al minuto 8:35

[youtube=640,360]https://youtu.be/74DlEMJsXBw[/youtube]

- Todo lo anterior se enfoca más a Computación e Informática, sin embargo hay enfoques más amplios que se pueden ver en algunos libros, podcasts, etc que hablan de otros temas como medicina, carpintería, electrónica, etc.
#1017
Saludos,

- Que error te manda, porque yo no tengo problemas. Recuerda que el Caracter EOF en Windows es ^Z (Ctrl + Z o F6) y en Linux es ^D (Ctrl + D):

CitarC:\Users\EdSon\CLionProjects\untitled\Debug>main.exe
Introduzca la letra que corresponde a la calificacion
Introduzca el caracter EOF para finalizar la entrada de datos.
abcabcaaa
^Z


Los totales por calificacion son:
A: 5
B: 2
C: 2
D: 0
F: 0

C:\Users\EdSon\CLionProjects\untitled\Debug>main.exe
Introduzca la letra que corresponde a la calificacion
Introduzca el caracter EOF para finalizar la entrada de datos.
a
a
b
b
b
^Z


Los totales por calificacion son:
A: 2
B: 3
C: 0
D: 0
F: 0

C:\Users\EdSon\CLionProjects\untitled\Debug>

-- Si estás presionando ^C (Ctrl + C) esto provoca una excepción y finaliza tu programa antes de (terminar de) imprimir tus "totales". El caracter EOF debería de ir solo en una nueva línea.
#1018
Saludos,

- Existe Software y hardware "congelador" de disco como Deep Freeze, Shadow Defender o Custodius. Estos protegen Unidades y/o carpetas del Disco duro de tal manera que al reiniciar se restaura tal cual estaba cuando se instaló y configuro el programa.

- Para instalar la mayoría de programas se requiere de permisos de administrador para que dicho programa agregue/modifique entradas en el registro de windows, instale librerías, trabaje con la unidad del sistema, etc. Es decir, los programas "ensucian" mucho el sistema operativo y el disco duro.

- Shadow Defender es más permisivo para uso personal y Deep Freeze Standar es más robusto para uso público, dependerá mucho del "alcance" que necesites, tienes máquinas virtuales, DeepFreeze, Sandboxie, etc. cada uno con sus ventajas, desventajas y prestaciones. Por ejemplo si es para juegos de uso personal Shadow Defender es buena opción ya que permite excluir ciertas carpetas que puede ser la carpeta donde se guarda el avance del juego. Si es para ejecutar software de uso rápido sin que deje rastros como un Keygen o "un crack" bastaría Sandboxie. Las máquinas virtuales son opciones más completas PERO hay cierta pérdida de rendimiento y el espacio que ocupan.
#1019
- Wow, me he hecho líos para realizarlo usando RegEx y Split, en mis libros de Visual Basic .NET no hay nada de Expresiones Regulares, he tenido que echar mano de mis libros de C# donde se toca el tema en detalle. De momento solo tengo Visual Basic .NET 2005 y lo he implementado así:

Código (vbnet) [Seleccionar]
Imports System.Text.RegularExpressions

Public Class Form1

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn.Click
    Dim rx As New Regex("(?<negativos>-\d+)|(?<positivos>\d+)")
    Dim positivos As String = ""
    Dim negativos As String = ""
    For Each match As Match In rx.Matches(txt.Text)
      If match.Groups("positivos").Value <> "" Then
        positivos = positivos & "," & match.Value
      Else
        negativos = negativos & "," & match.Value
      End If
    Next
    Dim numPos() As String = positivos.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
    Dim numNeg() As String = negativos.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
  End Sub
End Class


- He usado una RegEx más corta, me parece que le basta ..., luego voy concatenando una String para los positivos y otra para los negativos, unidas mediante una "coma", al final se usa esa misma coma para hacerle un Split quitando las vacias.

- Tengo entendido que pasarlo a C# es bastante sencillo, haber si me llega a descargar el C# 2005 para mañana y pasarlo si es que aún hay dudas.
#1020
- Cuando ocurre un error en VBScript se actualiza el Objeto Err con unos atributos, de los cuales se puede resaltar Err.Number y Err.Description, estos muestra un número entero distintivo y un mensaje de error distintivo correspondientemente.

- Para tomar el control de errores en VBScript se hace uso de la sentencia On Error Resume Next, de tal manera que al producirse un error no se muestra dicho error, sino, se continúa con la siguiente instrucción esperando a que el programador ponga las instrucciones adecuadas para "tomar el control" en caso de dicho error. Luego se restablece el Objeto Err con Err.Clear.

Código (vb) [Seleccionar]
On Error Resume Next

Set oShell = WScript.CreateObject("WScript.Shell")
dato = oShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2\1004")

If Err.Number <> 0 then  'Ha ocurrido un error
  If Err.Number = -2147024894 Then
    WScript.Echo("Valor 1004 no existe")
  End If
  WScript.Quit
Else                     'Valor encontrado
  WScript.Echo("Valor 1004 existe y tiene el dato: " & dato)
End if