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 - Eleкtro

#9461
Pues con esto ya tienes por donde empezar:

@echo off
Choice /M "quiere cambiar de directorio de trabajo?"

if NOT %errorlevel% EQU 2 (
set /P "folder=indique el directorio >>"
Call PUSHD "%%folder%%"
)
Echo Directorio actual: "%CD%"
pause



dir /n | MORE +4
set /p "file=introduce nombre >>"
if not exist "%file%" (echo error & pause & goto:menu)
type "%file%"



saludos
#9462
Bueno, en Batch puedes hacerlo modificando los valores del cursor actual en el registro, pero para que los cambios tengan efecto deberás reiniciar PC/Sesión.

Primero modificas el valor aquí:
HKEY_CURRENT_USER\Control Panel\Cursors
Scheme Source

Lo dejas a "1" para indicar que deseas usar un esquema de cursor customizado.

Y luego añades los valores correspondientes a cada cursor, y la dirección del archivo...

Ejemplo:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Cursors]
@="Glass Maxx"
"Scheme Source"=dword:00000001
"Arrow"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,\
 00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,\
 61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,41,00,72,00,72,00,6f,\
 00,77,00,2e,00,61,00,6e,00,69,00,00,00
"Help"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,\
 00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,\
 61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,48,00,65,00,6c,00,70,\
 00,2e,00,61,00,6e,00,69,00,00,00
"AppStarting"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,\
 00,54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,\
 6c,00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,41,00,70,00,70,\
 00,53,00,74,00,61,00,72,00,74,00,69,00,6e,00,67,00,2e,00,61,00,6e,00,69,00,\
 00,00
"Wait"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,\
 00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,\
 61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,57,00,61,00,69,00,74,\
 00,2e,00,61,00,6e,00,69,00,00,00
"Crosshair"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,\
 54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,\
 00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,63,00,72,00,6f,00,\
 73,00,73,00,2e,00,61,00,6e,00,69,00,00,00
"IBeam"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,\
 00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,\
 61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,49,00,42,00,65,00,61,\
 00,6d,00,2e,00,61,00,6e,00,69,00,00,00
"NWPen"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,\
 00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,\
 61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,48,00,61,00,6e,00,64,\
 00,77,00,72,00,69,00,74,00,69,00,6e,00,67,00,2e,00,61,00,6e,00,69,00,00,00
"No"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,00,\
 25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,61,\
 00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,4e,00,4f,00,2e,00,61,00,\
 6e,00,69,00,00,00
"SizeNS"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,\
 00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,\
 61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,53,00,69,00,7a,00,65,\
 00,4e,00,53,00,2e,00,61,00,6e,00,69,00,00,00
"SizeWE"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,\
 00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,\
 61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,53,00,69,00,7a,00,65,\
 00,57,00,45,00,2e,00,61,00,6e,00,69,00,00,00
"SizeNWSE"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,\
 54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,\
 00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,53,00,69,00,7a,00,\
 65,00,4e,00,57,00,53,00,45,00,2e,00,61,00,6e,00,69,00,00,00
"SizeNESW"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,\
 54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,\
 00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,53,00,69,00,7a,00,\
 65,00,4e,00,45,00,53,00,57,00,2e,00,61,00,6e,00,69,00,00,00
"SizeAll"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,\
 54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,\
 00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,53,00,69,00,7a,00,\
 65,00,41,00,6c,00,6c,00,2e,00,61,00,6e,00,69,00,00,00
"UpArrow"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,\
 54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,\
 00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,55,00,70,00,41,00,\
 72,00,72,00,6f,00,77,00,2e,00,61,00,6e,00,69,00,00,00
"Hand"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,\
 00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,\
 61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,48,00,61,00,6e,00,64,\
 00,2e,00,61,00,6e,00,69,00,00,00

[HKEY_CURRENT_USER\Control Panel\Cursors\Schemes]
"Glass Maxx"=hex(2):25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,\
 00,54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,\
 6c,00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,41,00,72,00,72,\
 00,6f,00,77,00,2e,00,61,00,6e,00,69,00,2c,00,25,00,53,00,59,00,53,00,54,00,\
 45,00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,\
 00,72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,\
 78,00,5c,00,48,00,65,00,6c,00,70,00,2e,00,61,00,6e,00,69,00,2c,00,25,00,53,\
 00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,00,43,00,\
 75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,73,00,20,\
 00,4d,00,61,00,78,00,78,00,5c,00,41,00,70,00,70,00,53,00,74,00,61,00,72,00,\
 74,00,69,00,6e,00,67,00,2e,00,61,00,6e,00,69,00,2c,00,25,00,53,00,59,00,53,\
 00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,00,43,00,75,00,72,00,\
 73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,73,00,20,00,4d,00,61,\
 00,78,00,78,00,5c,00,57,00,61,00,69,00,74,00,2e,00,61,00,6e,00,69,00,2c,00,\
 25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,\
 00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,\
 73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,63,00,72,00,6f,00,73,00,73,00,2e,\
 00,61,00,6e,00,69,00,2c,00,25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,\
 4f,00,4f,00,54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,\
 00,47,00,6c,00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,49,00,\
 42,00,65,00,61,00,6d,00,2e,00,61,00,6e,00,69,00,2c,00,25,00,53,00,59,00,53,\
 00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,00,43,00,75,00,72,00,\
 73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,73,00,20,00,4d,00,61,\
 00,78,00,78,00,5c,00,48,00,61,00,6e,00,64,00,77,00,72,00,69,00,74,00,69,00,\
 6e,00,67,00,2e,00,61,00,6e,00,69,00,2c,00,25,00,53,00,59,00,53,00,54,00,45,\
 00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,\
 72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,\
 00,5c,00,4e,00,4f,00,2e,00,61,00,6e,00,69,00,2c,00,25,00,53,00,59,00,53,00,\
 54,00,45,00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,00,43,00,75,00,72,00,73,\
 00,6f,00,72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,73,00,20,00,4d,00,61,00,\
 78,00,78,00,5c,00,53,00,69,00,7a,00,65,00,4e,00,53,00,2e,00,61,00,6e,00,69,\
 00,2c,00,25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,00,\
 25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,61,\
 00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,53,00,69,00,7a,00,65,00,\
 57,00,45,00,2e,00,61,00,6e,00,69,00,2c,00,25,00,53,00,59,00,53,00,54,00,45,\
 00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,\
 72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,\
 00,5c,00,53,00,69,00,7a,00,65,00,4e,00,57,00,53,00,45,00,2e,00,61,00,6e,00,\
 69,00,2c,00,25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,\
 00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,\
 61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,53,00,69,00,7a,00,65,\
 00,4e,00,45,00,53,00,57,00,2e,00,61,00,6e,00,69,00,2c,00,25,00,53,00,59,00,\
 53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,00,43,00,75,00,72,\
 00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,73,00,20,00,4d,00,\
 61,00,78,00,78,00,5c,00,53,00,69,00,7a,00,65,00,41,00,6c,00,6c,00,2e,00,61,\
 00,6e,00,69,00,2c,00,25,00,53,00,59,00,53,00,54,00,45,00,4d,00,52,00,4f,00,\
 4f,00,54,00,25,00,5c,00,43,00,75,00,72,00,73,00,6f,00,72,00,73,00,5c,00,47,\
 00,6c,00,61,00,73,00,73,00,20,00,4d,00,61,00,78,00,78,00,5c,00,55,00,70,00,\
 41,00,72,00,72,00,6f,00,77,00,2e,00,61,00,6e,00,69,00,2c,00,25,00,53,00,59,\
 00,53,00,54,00,45,00,4d,00,52,00,4f,00,4f,00,54,00,25,00,5c,00,43,00,75,00,\
 72,00,73,00,6f,00,72,00,73,00,5c,00,47,00,6c,00,61,00,73,00,73,00,20,00,4d,\
 00,61,00,78,00,78,00,5c,00,48,00,61,00,6e,00,64,00,2e,00,61,00,6e,00,69,00,\
 00,00


(Esto es el código de arriba convertido)
Código (dos) [Seleccionar]

:: Archivo de registro convertido con REG2BAT by Elektro H@cker
::
:: REG2BAT - Convierte archivos REG a BAT
:: http://foro.elhacker.net/empty-t357848.0.html

REG ADD "HKCU\Control Panel\Cursors" /V  "" /D "Glass Maxx" /F
REG ADD "HKCU\Control Panel\Cursors" /V "Scheme Source" /T "REG_DWORD" /D 0x00000001 /F
REG ADD "HKCU\Control Panel\Cursors" /V "Arrow" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\Arrow.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "Help" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\Help.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "AppStarting" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\AppStarting.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "Wait" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\Wait.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "Crosshair" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\cross.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "IBeam" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\IBeam.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "NWPen" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\Handwriting.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "No" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\NO.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "SizeNS" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeNS.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "SizeWE" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeWE.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "SizeNWSE" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeNWSE.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "SizeNESW" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeNESW.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "SizeAll" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeAll.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "UpArrow" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\UpArrow.ani" /F
REG ADD "HKCU\Control Panel\Cursors" /V "Hand" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\Hand.ani" /F
REG ADD "HKCU\Control Panel\Cursors\Schemes" /V "Glass Maxx" /T "REG_EXPAND_SZ" /D "%%SYSTEMROOT%%\Cursors\Glass Maxx\Arrow.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\Help.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\AppStarting.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\Wait.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\cross.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\IBeam.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\Handwriting.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\NO.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeNS.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeWE.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeNWSE.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeNESW.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\SizeAll.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\UpArrow.ani,%%SYSTEMROOT%%\Cursors\Glass Maxx\Hand.ani" /F







¿Pero tu no te habias iniciado en VB.NET? si aún lo sigues usando puedes desarrollar en pocas líneas un programa commandline que modifique la imagen del cursor y ejecutarlo desde Batch xD.

Aquí tienes el ejemplo, más tarde haré un snippet de esto y lo colgaré en el post de snippets:
Código (vbnet) [Seleccionar]
'Dan Dombrowski
'July 2008

Public Class Form1

   'API declarations
   Private Declare Function SetSystemCursor Lib "user32.dll" (ByVal hCursor As IntPtr, ByVal id As Integer) As Boolean
   Private Declare Function LoadCursorFromFile Lib "user32.dll" Alias "LoadCursorFromFileA" (ByVal lpFileName As String) As IntPtr

   'Cursor constants
   Private Const IDC_APPSTARTING As UInt32 = 32650
   Private Const IDC_ARROW As UInt32 = 32512
   Private Const IDC_HAND As UInt32 = 32649
   Private Const IDC_CROSS As UInt32 = 32515
   Private Const IDC_HELP As UInt32 = 32651
   Private Const IDC_IBEAM As UInt32 = 32513
   Private Const IDC_NO As UInt32 = 32648
   Private Const IDC_SIZEALL As UInt32 = 32646
   Private Const IDC_SIZENESW As UInt32 = 32643
   Private Const IDC_SIZENS As UInt32 = 32645
   Private Const IDC_SIZENWSE As UInt32 = 32642
   Private Const IDC_SIZEWE As UInt32 = 32644
   Private Const IDC_UP As UInt32 = 32516
   Private Const IDC_WAIT As UInt32 = 32514

   'Variable to save current cursor
   Dim SavedCursor As Icon

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       'Save cursor
       SavedCursor = Icon.FromHandle(Cursors.Arrow.CopyHandle)

       'Change arrow cursor to mine
       Dim NewCursor As IntPtr = LoadCursorFromFile(Application.StartupPath & "\MyCross.ani")

       'Check
       If NewCursor = IntPtr.Zero Then
           'Error loading cursor from file
           Debug.WriteLine("Error loading cursor from file.")
           Return
       End If

       'Set the system cursor
       If SetSystemCursor(NewCursor, IDC_ARROW) = 0 Then
           'Error setting system cursor
           Debug.WriteLine("Error setting system cursor.")
           Return
       End If

       'Disable/enable buttons
       Button1.Enabled = False
       Button2.Enabled = True
   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       'Get old cursor
       Dim OldCursor As IntPtr = SavedCursor.Handle

       'Set the system cursor
       SetSystemCursor(OldCursor, IDC_ARROW)

       'Disable/enable buttons
       Button1.Enabled = True
       Button2.Enabled = False
   End Sub

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

   End Sub


PD: Cada constante equivale a cada imagen del cursor (arrow, hand, busy, etc...) en el ejemplo sólo cambian el cursor principal (arrow).
#9463
Scripting / Re: problema con un .bat
4 Febrero 2013, 17:30 PM
Cita de: pedro1212 en  4 Febrero 2013, 16:57 PM1. Hay algun comando que haga esperar al .bat antes de ir a por la siguiente accion? que se pudiera modificar el tiempo que se quiera
En Windows 7 puedes usar el comando TIMEOUT
Código (dos) [Seleccionar]
:: Para esperar 5 segundos
Timeout /T 5


Si quieres hacerlo de otra forma para que funcione también en Vista/XP, puedes usar Ping:
Código (dos) [Seleccionar]
:: Para esperar 5 segundos
Ping -n 5 localhost >NUL


Cita de: pedro1212 en  4 Febrero 2013, 16:57 PM2. Alguna forma de "simular la busqueda" es decir, que mande la informacion de que visito la url pero en realidad no se abra el navegador
No, no es posible en Batch, Batch necesita abrir el navegador porque no dispone de otro medio.
En otros lenguajes como Ruby y Python si que puedes "simular" esas cosas usando methods o extensiones.

Saludos
#9464
Scripting / Re: problema con un .bat
4 Febrero 2013, 16:33 PM
He leido tu mp, te contesto por aquí.

(Te pedí que dieras una URL que exista, pero bueno...)

Como yo suponía, es un error de sintaxis, no estás escribiendo bien la página.

El caracter "&" es un operador de Batch, y cuando lo usas sin entrecomillar/escapar el string, todo se va a la m*erda.

En resumen, tienes que escapar el caracter en la URL:
Start http://www.juegoejemplo.net/game.php?sección=mapa^&vuelta=5534601

O usar la URL entre comillas:
Start /B "" "http://www.juegoejemplo.net/game.php?sección=mapa&vuelta=5534601"






Y para lo otro que me pediste:

Código (dos) [Seleccionar]
@Echo OFF
For /L %%N in (0,1,100) Do (
   Echo http://www.juegoejemplo.net/game.php?sección=mapa^&vuelta=553460%%N
   REM  Start /B "" "http://www.juegoejemplo.net/game.php?sección=mapa&vuelta=553460%%N"
)



Saludos
#9465
Scripting / Re: Registry Hack
4 Febrero 2013, 16:21 PM
1. Puedes usar el parámetro QUERY del comando REG:
Reg.exe QUERY "HKLM\Clave"

2. Puedes usar el comando "Exportar" del Regedit:
Regedit.exe /e "C:\Temp.reg" "HKEY_CURRENT_USER\Clave"

Para enviar, puedes usar el comando FTP.exe, pero obviamente debes disponer de una FTP casera.

Para lo del modo oculto, no puedes hacerlo natívamente usando Batch, puedes usar algún ""compilador"" (Convertir .BAT a .EXE) o puedes ejecutar el archivo .Bat en modo oculto usando VisualBasicScript:
Código (vb) [Seleccionar]
CreateObject("Wscript.Shell").Run """" & "C:\Archivo.bat" & """", 0, False

O puedes crear un SFX del bat usando WinRAR, o puedes ejecutar el BAT mediante una taréa programada NO-INTERACTIVA, o puedes usar utilidades externas como CMDOW o NIRCMD, en fín, hay infinidad de posibilidades.

Saludos.
#9466
Mi primera pregunta es: ¿Porque crees necesitar almacenar el contenido del archivo de texto en una variable?, pienso que podrías cifrar línea a línea el contenido del texto, es decir:

  • obtienes la primera línea
  • la cifras
  • la guardas en un archivo temporal

  • obtienes la siguiente línea
  • la cifras
  • la añades al archivo temporal

    etc...

    De todas formas si para tí no es viable, voy a mostrarte como hacerlo de la forma que has planteado.

    Puedes hacerlo recurriendo a nefastos trucos para añadir nuevas líneas en la variable y adjuntar el texto, esto es el limitado Batch, no hay otra forma de hacerlo, sería así:

    @Echo OFF
    setlocal EnableDelayedExpansion
    set NewLine=^


    Set /P "File=Escriba el nombre del archivo >> "
    Echo "%File%" | FIND /I ".txt" || (Set "File=%File%.txt")

    For /F "usebackq tokens=*" %%# in ("%File%") do (Set "FileContent=!FileContent!!NewLine!%%#")
    Echo: !FileContent!
    Pause&Exit


    Eso es para hacer lo que pides, pero yo te propongo esto:

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

    Set /P "File=Escriba el nombre del archivo >> "
    Echo "%File%" | FIND /I ".txt" || (Set "File=%File%.txt")

    For /F "usebackq tokens=*" %%# in ("%File%") do (Call :Cifrar "%%#")
    Pause&Exit

    :Cifrar
    Echo "%~1"
    Rem Esta subrutina procesa una a una cada línea del archivo...
    Rem aquí debes hacer las operaciones en el string recibido, es decir, lo cifras...
    Rem y almacenas la línea cifrada en un archivo temporal...
    Echo "%VARIABLE%" >> "%TEMP%\Temp.bat"
    GOTO:EOF


    Saludos
#9467
Scripting / Re: problema con un .bat
4 Febrero 2013, 01:00 AM
El comando "start" solo se encarga de mandarle la orden al programa asociado, en tu caso es el navegador "Google chrome", a simple vista pienso que símplemente estás cometiendo algún fallo al escribir la URL, pero si la estubieras escribiendo corréctamente y la página no se abre debe haber algún tipo de conflicto en el Chrome, y en ese caso una posible solución sería que actualizases o esperar a alguna nueva actualización del programa.

El modo correcto de escribir una URL es "http://www.web.com", pero puedes hacerlo igualmente como te han indicado porque el navegador resolverá el protocolo y demás de la URL.

Intenta esto:
"C:\carpeta del chrome\Chrome.exe" "http://www.página-web.com"

De todas formas como la página "www.google.es/12345" obviamente no existe, ¿Puedes dar un ejemplo más claro de alguna página que exista y que no se te abre?.

Un saludo.
#9468
Cita de: Yidu en  3 Febrero 2013, 21:22 PMTodo el mundo recomienda Python para iniciarse y a ti te da asco. Claro esta, que es algo subjetivo.

Casi todo el mundo va a la respuesta fácil, deberías saberlo,
y ojo, no malinterpretes mis palabras, he dicho lo que he dicho, que la sintaxis de python me da asco, pero no he dicho que Python séa malo ni nada parecido, es uno de los mejores lenguajes de scripting, pero cuando ya has tocado y sabes unos cuantos lenguajes, tienes donde elegir, tienes muchas cosas que poder comparar entre cada lenguaje, tienes muchas opiniones/recomendaciones que ofrecer, y yo, sin lugar a dudas, me quedo con Ruby en lugar de Python.

Lo mismo de arriba digo de C/C++/C#, aunque en este caso de los 3 solo he tocado C# y muy muy poco.

EDITO: La cuestión es no ir siempre a "lo mejor", sinó a lo que mejor se adapte a tí y tus necesidades, es lo que intenté decirte en mi último comentario,
si yo tengo que ser sincero, considero python el mejor lenguaje de programación de scripting, y C# el mejor lenguaje de programación, pero no por eso voy a usarlos, porque prefiero las características de otros lenguajes.

Cita de: Yidu en  3 Febrero 2013, 21:22 PMluego sueltas lo de VB.Net, cuando la opinión general lo tacha de mala práctica para programadores noveles y uso de ventanitas y cosas de esas. Hablo desde mi sincera ignorancia.

¿Mala práctica?, los lenguajes no tienen malas prácticas, es el desarrollador quien decide si usar malas prácticas o no, lo que pasa es que como ya te he dicho, VB.NET no es tán estricto como C#, por eso se pueden aplicar malas prácticas, pero si se es un buen programador no hay mala práctica alguna.

Sobre lo de las "ventanitas"... imagino que te refieres a la interfaz gráfica, de lo contrario no es necesario que sigas leyendo xD,
Si te refieres a eso, díme quien ha tachado eso como un punto en contra de la programación, porque sería ridículo, es un punto MUY a favor, casi todas las aplicaciones de hoy en dia son con "ventanitas".

Si te vas a introducir a C++ puedes usar las "ventanitas" también (por tu comentario parece que no lo sabías), es lo que diferencia al scripting de esto, aunque en los lenguajes de scripting como Python también puedes hacer las GUIS ("ventanitas") para tus scripts, pero de una forma muuucho más engorrosa, hay que hardcodear cada aspecto de la GUI para el script.

Depende de gustos, Interfaz gráfica VS. Interfaz commandline, pero yo opino que para hacer cualquier buena aplicación hoy en día hay que usar "ventanitas", no se puede estar toda una vida programando siempre aplicaciones de consola porque eso no da pa nah...

Saludos!!
#9469
"Quinila"? ¿o Quiniela? xD.

Yo también quiero ese algoritmo, que ya me toca forrarme... :P
#9470
Calcular el hash MD5 de un archivo:

Código (vbnet) [Seleccionar]
    #Region " Get MD5 Of File Function "
     
       ' [ Get MD5 Of File Function ]
       '
       ' Examples :
       '
       ' MsgBox(Get_MD5_Of_File("C:\Test.txt"))
     
       Private Function Get_MD5_Of_File(ByVal File As String) As String
           Using MD5_Reader As New System.IO.FileStream(File, IO.FileMode.Open, IO.FileAccess.Read)
               Using MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider
                   Dim MD5_Byte() As Byte = MD5.ComputeHash(MD5_Reader)
                   Dim MD5_Hex As New System.Text.StringBuilder(MD5.ComputeHash(MD5_Reader).Length * 2)
                   For Number As Integer = 0 To MD5_Byte.Length - 1 : MD5_Hex.Append(MD5_Byte(Number).ToString("X2")) : Next
                   Return MD5_Hex.ToString().ToLower
               End Using
           End Using
       End Function
     
    #End Region






Calcular el hash MD5 de un string:

Código (vbnet) [Seleccionar]
#Region " Get MD5 Of String Function "

    ' [ Get MD5 Of String Function ]
    '
    ' Examples :
    '
    ' MsgBox(Get_MD5_Of_String("C:\Test.txt"))

    Private Function Get_MD5_Of_String(ByVal str As String) As String
        Dim MD5_Hex As String = Nothing
        Dim MD5 As New System.Security.Cryptography.MD5CryptoServiceProvider()
        Dim MD5_Byte = System.Text.Encoding.UTF8.GetBytes(str)
        Dim MD5_Hash = MD5.ComputeHash(MD5_Byte)
        MD5.Clear()
        For Number As Integer = 0 To MD5_Hash.Length - 1 : MD5_Hex &= MD5_Hash(Number).ToString("x").PadLeft(2, "0") : Next
        Return MD5_Hex
    End Function

#End Region





Obtener la ID de la placa base:

Código (vbnet) [Seleccionar]
#Region " Get Motherboard ID Function "

    ' [ Get Motherboard ID Function ]
    '
    ' Examples :
    '
    ' Dim Motherboard_ID As String = Get_Motherboard_ID()
    ' MsgBox(Get_Motherboard_ID())

    Private Function Get_Motherboard_ID() As String
        For Each Motherboard As Object In GetObject("WinMgmts:").InstancesOf("Win32_BaseBoard") : Return Motherboard.SerialNumber : Next Motherboard
        Return Nothing
    End Function

#End Region






Obtener la ID del procesador:

Código (vbnet) [Seleccionar]
#Region " Get CPU ID Function "

    ' [ Get CPU ID Function ]
    '
    ' Examples :
    '
    ' Dim Processor_ID As String = Get_Motherboard_ID()
    ' MsgBox(Get_CPU_ID())

    Private Function Get_CPU_ID() As String
        For Each CPU_ID As Object In GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery("Select * from Win32_Processor") : Return CPU_ID.ProcessorId : Next CPU_ID
        Return Nothing
    End Function

#End Region