Problema al ultilizar un txt como variable

Iniciado por z3nth10n, 4 Mayo 2012, 21:25 PM

0 Miembros y 1 Visitante están viendo este tema.

z3nth10n

Hola, bueno aquí sigo con mi super-script chapuzas y en fin quiero utilizar un txt para luego utilizarlo como set /p user='type file.txt' (que no se si  va a ser posible así), y quiero meter uno de los muchos usuarios como preferente para que al iniciar el juego se inicie automaticamente y el usuario no tenga que estar eligiendo el usuario. El problema es el siguiente, que no consigo que el código se meta, antes lo he hecho no se de que forma, pero tras modificarlo un poco lo jodí completamente.

(Me dí cuenta de unos detalles simples, mientras lo editaba)

@echo off
:MB
color 27
cls
echo Elige la opcion que desees:
echo.
Setlocal enabledelayedexpansion
For /F "Tokens=*" %%# in ('type file.txt') Do (
ECHO %%#>"%TEMP%\tempfile.txt"
FOR %%? IN ("%TEMP%\tempfile.txt") DO ( SET /A longitud=%%~z? - 2 )
If !longitud! GTR 2 (Set /A Line+=1&& echo !Line!. %%#)
)
set /p "user=>> "
if "%user%"=="n" goto:MC
if "%user%"=="d" goto:MC1
if not defined user goto:MB
set /a "_user=0"
for /f "tokens=*" %%_ in ('type file.txt') do (
call:show %%_
del login.txt
echo %%_ > login.txt
)
:show
set /a "_user+=1"
if %_user%==%user% echo Has seleccionado %*
pause


Yo ya estoy harto de cambiarle cosas y que no funciona, que alguien le eche mano, porque yo no soy capaz...
AH!, otro problema es que si lo conseguis con el mismo codigo, sale tropecientas veces, y luego sale la maldita flechita, o nada. Y si lo pasarais cuando dice "Has seleccionado", funciona pero sale Pulse cualquier tecla para contnuar 3 o 4 veces, yo no se que hacer al respecto.
Gracias, y un saludo.

Interesados hablad por Discord.

Eleкtro

Cita de: Seazoux en  4 Mayo 2012, 21:25 PM
quiero utilizar un txt para luego utilizarlo como set /p user='type file.txt' (que no se si  va a ser posible así)

¿Lo que quieres es almacenar el contenido de un documento de texto entero, En una variable?
De ser así, Sí es posible. Espero a que me lo confirmes.


Cita de: Seazoux en  4 Mayo 2012, 21:25 PM
(Me dí cuenta de unos detalles simples, mientras lo editaba)
@echo off
Call :Show
:show
pause


Estás llamando a una subrutina sin retornar al punto en el que estabas.
El último comando debe ser este:

:show
pause
Goto :EOF


Saludos








z3nth10n

Si se puede, en el login.txt solo hay un nombre de usuario... Lo unico que consegui es poner
set /p "user=>> "
y luego %user% > login.txt

pero yo quiero seleccionar la linea a copiar...

Interesados hablad por Discord.

z3nth10n

Cambio la pregunta, respecto al tema...

Como leches, hago para poner una variable de batch, enlazarla con un txt...

Tengo un txt donde pone un nombre cualquiera, y después en el batch tengo

set "user=type file.txt"
pero cuando me conecto al juego me llamo type XD
Un saludo

Interesados hablad por Discord.

z3nth10n

Tema resuelto, puedes cerrar. DEspués posteo el code, ahora no puedo...  :-\

Interesados hablad por Discord.

BatchianoISpyxolo

Cita de: Seazoux en  9 Mayo 2012, 17:18 PM
Cambio la pregunta, respecto al tema...

Como leches, hago para poner una variable de batch, enlazarla con un txt...

Tengo un txt donde pone un nombre cualquiera, y después en el batch tengo

set "user=type file.txt"
pero cuando me conecto al juego me llamo type XD
Un saludo

No sé cómo lo habrás hecho, pero con for /f puedes procesar archivos de texto... Y realizar lo que quieres.
Puede que desees aprender a programar desde 0: www.espascal.es

Eleкtro

Cita de: Batchiano en  9 Mayo 2012, 19:03 PM
No sé cómo lo habrás hecho, pero con for /f puedes procesar archivos de texto... Y realizar lo que quieres.

Pues yo aún sigo sin entender lo que pretendia hacer xD

Código (dos) [Seleccionar]
For /F "Tokens=*" %%# in ('Type "ARCHIVO.txt"') Do (Set "Variable=%%#")

?

Salu2








z3nth10n

Aquí el code

for /f "tokens=*" %%x in (login.txt) do (echo %%x
set user=%%x)


Juas juas, con esto se puede hacer infinidad de cosas... :P

Interesados hablad por Discord.