elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 05:21  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  (SOLUCIONADO) [BATCH] ¿Como crear una variable de esta manera?...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (SOLUCIONADO) [BATCH] ¿Como crear una variable de esta manera?...  (Leído 514 veces)
EleKtro H@cker
Moderador
***
Desconectado Desconectado

Mensajes: 1.347


(8) I will have that power!! (8) Jarkor! :D


Ver Perfil
(SOLUCIONADO) [BATCH] ¿Como crear una variable de esta manera?...
« en: 10 Enero 2012, 05:02 »

Ya hice un post sobre este tema pero no lo encuentro por ningún lado xDDD y me vuelve a dar problemas.


necesito correr un script desde un .REG, osea que el script tiene que tener todas las sentencias en una sola línea, y en esa linea tengo que crear una variable, y usarla.

Ejemplo:

Código:
cmd.exe /k @echo off & For /F %%a in ('Dir /B "%%WINDIR%%" ^| Find /V /C ""') do (Set /A Numero=%%a , Numero+=5) & Mode con cols=60 lines=%%Numero%% & pause

El script funciona a medias, Porque se muestra el número de la operación, se muestra la suma correcta, osea que la variable se crea, pero no encuentro modo alguno de usar (Mostrar) la variable "número"...

He probado usando en la variable un %, dos %%, tres y hasta 5 %%%%%, xD.
He probado expandiendo la variable con !, y activando set local enabledelayedexpansion... no se que más probar

PD: Aparte, aunque no lo necesito, pero por curiosidad... ¿Como se usaria un "CALL" en una sola linea? Se puede? lo he probado sin éxito xD.


« Última modificación: 11 Enero 2012, 02:02 por EleKtro H@cker » En línea

Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE:

"La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal."

PD: Volviendo a la era de los 56 k.

EleKtro H@cker
Moderador
***
Desconectado Desconectado

Mensajes: 1.347


(8) I will have that power!! (8) Jarkor! :D


Ver Perfil
Re: [BATCH] ¿Como crear una variable de esta manera?...
« Respuesta #1 en: 11 Enero 2012, 02:01 »

Bueno lo he conseguido, Aunque no me ha quedado otro remedio que pasar el resultado a un txt...

Ah por si no habia quedado claro, la intención de esto era ajustar el tamaño de la ventana del CMD, basandose en el número de carpetas que tuviera el directorio...

Código:
CMD.exe /C @Echo OFF & For /F %%a in ('Dir /B /S /AD "%%windir%%" ^| Find /V /C ""') do (Set /A Numero=%%a , Numero+=10 >"%%Temp%%\NumeroTemp.Tmp") & For /F %%a in ('Type "%%Temp%%\NumeroTemp.Tmp"') do (If %%a GTR 75 (Mode con cols=120 lines=75) ELSE (Mode con cols=120 lines=%%a)) && pause



EDITO: aqui el code entero xDDD, No hagan este mal ejemplo de batch sin indentación en sus casas xDDDDDD

Código:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Obtener privilegios para esta carpeta]
"NoWorkingDirectory"=""
"position"="bottom"

[HKEY_CLASSES_ROOT\Directory\shell\Obtener privilegios para esta carpeta\command]
@="CMD.exe /C @Echo OFF & Title Obtener privilegios para: %%UserName%% & For /F %%a in ('Dir /B /S /AD \"%1\" ^| Find /V /C \"\"') do (Set /A Numero=%%a , Numero+=10 >\"%%Temp%%\\NumeroTemp.Tmp\") & For /F %%a in ('Type \"%%Temp%%\\NumeroTemp.Tmp\"') do (If %%a GTR 75 (Mode con cols=120 lines=75) ELSE (Mode con cols=120 lines=%%a)) && If Exist \"%%WINDIR%%\\system32\\nircmd.exe\" (nircmd win center ititle \"Obtener Privilegios\") & Color 0F & Cls & Echo+ & Echo. Procesando todos los archivos y subdirectorios de... & Echo. %1 & Ping -n 2 LocalHost >Nul & Echo+ & Dir /B /S /AD \"%1\" && Echo+ & takeown /f \"%1\" /R /D S >nul && Icacls \"%1\" /Grant %%UserName%%:(F) /T | find /i \"Correctamente\" && Echo+ & Echo. Privilegio de \"Acceso total\" (F) concedido al usuario \"%%UserName%%\"   Ok! && Del /Q \"%%Temp%%\\NumeroTemp.Tmp\" & Ping -n 8 LocalHost >Nul && Exit"





un saludo


« Última modificación: 11 Enero 2012, 02:12 por EleKtro H@cker » En línea

Siempre habrá alguien más ignorante que uno mismo, Como por ejemplo el nuevo presidente de la SGAE:

"La banda ancha es totalmente innecesaria para navegar convencionalmente, Solo sirve para descargar megas y megas grandisimos, Y tal."

PD: Volviendo a la era de los 56 k.

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines