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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BATCH] Problema al intentar poner el resultado de findstr dentro de variable
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BATCH] Problema al intentar poner el resultado de findstr dentro de variable  (Leído 4,848 veces)
XXLuigiMario

Desconectado Desconectado

Mensajes: 5



Ver Perfil WWW
[BATCH] Problema al intentar poner el resultado de findstr dentro de variable
« en: 27 Julio 2012, 21:18 pm »

Hola compañeros, estoy haciendo un script en batch que comprueba que sistema operativo tienes (Windows NT, 2000, XP, Vista, etc...), la edición de Windows (Home Premium, Profesional, Ultimate, etc...), la arquitectura del sistema (x64 o x86), si lo estas ejecutando en modo seguro y/o desde una maquina virtual. Necesito meter el resultado de findstr dentro de una variable, pero me da error "No se esperaba | en este momento"

Esto es lo que quiero hacer:

Código:
@echo off
title TEST
for /f "tokens=*" %%%% in ('wmic os get caption | findstr /r /v /i "^Caption"') do (set var=%%~%%)
echo You are using %var%
pause >nul
exit

Tendría que salir "You are using Windows 7 Ultimate"

Lo he intentado de varias maneras, pero no he podido, alguien sabe como hacerlo?  :huh:


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: [BATCH] Problema al intentar poner el resultado de findstr dentro de variable
« Respuesta #1 en: 27 Julio 2012, 21:37 pm »

Hola,

Cuando uses las pipes | dentro de un for, escápalas ^|

Código:
('wmic os get caption ^| findstr /r /v /i "^Caption"')

De todas formas, Podrías hacerlo así:
Código
  1. @echo off
  2. title TEST
  3. for /F "tokens=2 delims==" %%%% in ('wmic os get caption /format:list') do (set "Var=%%~%%")
  4. Echo You are using %var%

Saludos


« Última modificación: 27 Julio 2012, 22:14 pm por EleKtro H@cker » En línea



Binary_Death

Desconectado Desconectado

Mensajes: 214



Ver Perfil
Re: [BATCH] Problema al intentar poner el resultado de findstr dentro de variable
« Respuesta #2 en: 28 Julio 2012, 05:27 am »

Otro consejo, resulta que la cmd interpreta lo de dentro del cuerpo "in" entre ' como si fuera una línea así: cmd /c wmic os get caption /format_list.
Como sabrás, cualquier carácter especial entre "" pierde su valor sintáctico, así que puedes dejar el código así en vez de escapar carácter por carácter ;)

Código
  1. @echo off
  2. title TEST
  3. for /f "tokens=*" %%%% in ('"wmic os get caption | findstr /r /v /i "^Caption""') do (set var=%%~%%)
  4. echo You are using %var%
  5.  
En línea

XXLuigiMario

Desconectado Desconectado

Mensajes: 5



Ver Perfil WWW
Re: [BATCH] Problema al intentar poner el resultado de findstr dentro de variable
« Respuesta #3 en: 17 Agosto 2012, 15:26 pm »

Muchas gracias Electro Hacker y Binary Death por ayudarme, ya he podido resolver mi problema  :D, lo que pasa es que yo no se muy bien como usan los tokens, y a veces me lio :xD
« Última modificación: 17 Agosto 2012, 15:30 pm por XXLuigiMario » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Batch] Problema variable con comillas
Scripting
tienty 4 5,838 Último mensaje 3 Abril 2013, 13:47 pm
por Eleкtro
(solucionado) [batch] error con findstr
Scripting
shadowhunter 8 6,026 Último mensaje 10 Octubre 2013, 21:20 pm
por Eleкtro
Redirigir el resultado de un comando a una variable ¿Se puede? ¿Cómo? [BATCH]
Scripting
LoqiRex2 3 5,030 Último mensaje 16 Noviembre 2014, 22:10 pm
por Eleкtro
[BATCH] problema al intentar renombrar una carpeta despues de muchos copy
Scripting
castelar 3 3,310 Último mensaje 29 Julio 2016, 11:01 am
por castelar
Ayuda para poner un resultado dentro de una tabla
PHP
KiddKeo 4 2,717 Último mensaje 29 Enero 2020, 16:32 pm
por SeñorShell
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines