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 - leogtz

#2501
En C :
#include <stdio.h>
int main()
{
    signed int numero;
    signed int digito_uno;
    signed int digito_dos;
    printf("Introduzca un numero mayor a 0 y menor a 100 : ");
    scanf("%i", &numero);
    if(numero > 0 && numero < 100)
    {
        if(numero > 10)
        printf("\nTiene 2 digitos");
        {
        digito_dos = numero % 10;
        numero /= 10;
        digito_uno = numero % 10;
        }
        printf("\n%i%i", digito_dos, digito_uno);
    } else {
        printf("El numero no tiene 2 digitos\n");
    }
    return 0;
}



Saludos.
#2502
En Windows XP y funciona perfecto :

System: XP
Press any key...
#2503
Tienes razon, tambien funciona para el parametro /a.

Crei haber visto algo como "Falta operador"

Gracias.
#2504
Si, solo para el Set, tiene que haber más, solo hay que encontrarlos.

Nota: Para el parametro /a no sirve esto.
#2505
Scripting / Re: [Batch] for /R y for /D
8 Marzo 2009, 08:42 AM
Todo lo que planteas es correcto.
Citar
Se muestra
1
;B1 B2 B3 B4 B5 B6 B7
:C1 C2 C3 C4 C5 C6 C7
@D1 D2 D3 D4 D5 D6 D7
Y aqui, porque si la primera linea empieza con A, porque mostró 1?

Disculpen tantas preguntas, pero creo que ya voy por menos, por lo menos en lo que es un conocimiento y uso basico de batch

El contenido de tu archivo es :
A1 A2 A3 A4 A5 A6 A7
;B1 B2 B3 B4 B5 B6 B7
:C1 C2 C3 C4 C5 C6 C7
@D1 D2 D3 D4 D5 D6 D7


La primea linea :
A1 A2 A3 A4 A5 A6 A7


Con tu codigo, lo delimitas, es decir, pones el caracter 'A' como delimitador, por que solo mostró el 1?

Por que no especificaste que tokens usar, prueba esto :
for /F "delims=A tokens=* eol=" %%b in (x2.txt) do (
echo %%b
)

La salida :
1 A2 A3 A4 A5 A6 A7
B1 B2 B3 B4 B5 B6 B7
C1 C2 C3 C4 C5 C6 C7
D1 D2 D3 D4 D5 D6 D7


con el tokens=*, especificas que muestre todo, todo lo que esta despues del delimitador=A.

Espero y me haya entendido  :-\
Saludos.
#2506
Encontre una forma de poner comentarios en el comando set, sin alterar el comportamiento del mismo.

Un ejemplo para que quede bien claro :

@echo off
set "saludo=Hola" // Este es mi comentario.
echo.%saludo%


Hay que entrecomillar la "asignación", luego pueden usar cualquier estilo de comentario.

Algunos ejemplos :

@echo off
set /p "suma=2+2 : " # La suma, my comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma


@echo off
set /p "suma=2+2 : "  // La suma
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma


@echo off
set /p "suma=2+2 : "  /* La suma */
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma


@echo off
set /p "suma=2+2 : "  ' Comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma


@echo off
set /p "suma=2+2 : "  Comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma


@echo off
for %%. in (H e l l o _ W o r l d) do (
    call :show %%.
)
goto:eof

:show
<nul set /p "=%*" // Comentario
ping -n 1 loopback > nul
goto:eof


En realidad es sencillo, ya que el Set solo toma el primer parametro, lo siquiente es ignorado.

El truco ya aparece en el sitio de Rob Van Der Woude :
Citar
Leo Gutierrez Ramirez found a way to add any  (language) style comments to SET /P commands:

@echo off
set /p "suma=2+2 : " # La suma, my comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

@echo off
set /p "suma=2+2 : "  // La suma
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

@echo off
set /p "suma=2+2 : "  /* La suma */
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

@echo off
set /p "suma=2+2 : "  ' Comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

@echo off
set /p "suma=2+2 : "  Comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma


@echo off
for %%. in (H e l l o _ W o r l d) do (
    call :show %%.
)
goto:eof

:show
<nul set /p "=%*" // Comentario
ping -n 1 loopback > nul
goto:eof

As a matter of fact, any text after the closing doublequote is ignored.

Thanks Leo

http://www.robvanderwoude.com/clevertricks.php


Saludos.
#2507
Scripting / Re: [Batch] for /R y for /D
8 Marzo 2009, 05:04 AM
Te dejaré algunos ejemplos :
@echo off
:: Mostrar Hola %username%
for /f "tokens=1,4" %%a in ("Hola Adios Bye %username%") do (
echo.%%a %%b
)
(
El tokens 1 : "Hola"
El tokens 4 : %username%
Si hubiera querido mostrar "Adios", hubiera usado el tokens 2


@echo off
:: Mostrar XP en Pantalla, con el comando Ver y For
for /f "tokens=3" %%* in ('ver ^| findstr /r /v "^$"') do (
echo.%%*
)
(
Puedes usar cualquier caracter en %% pero teniendo cuidado si es algun caracter especial.
Igual dentro de ^(^), debes de anteponer el acento circunflejo "^" si es un caracter especial.


Para ilustrar el uso de eol, supongamos que tenemos un archivo de texto (file.txt) con este contenido:

Agua
Sal
Leche
Cafe
:Soda
Cerveza


Y queremos mostrar solo las lineas que no contengan ":" al principio de la linea :

for /f "tokens=* eol=:" %%x in (file.txt) do (
echo.%%x
)


Salida :
Agua
Sal
Leche
Cafe
Cerveza

El eol por defecto omite las lineas que empiecen con ";", para quitar esto debe de especificarse :
"eol="

Tambien se habria mediante esto :
type "file.txt" | findstr /r /v "^:"

Pero no viene al caso.

El %% se usa en el comando For, en modo Script, en modo consola debe ser solo %, el %% puede ser precedido de cualquier caracter, pero teniendo en cuenta que si es un caracter especial, debe usarse ^ antes de dicho caracter.

Cualquier duda dices.

Saludos.
#2508
Scripting / Re: bat que se autoduplican
7 Marzo 2009, 21:23 PM
Cita de: river_0119 en  7 Marzo 2009, 19:09 PM
pueden explicar por favor? :)


les estare agradecido ::)



A que te refieres?, a explicar cada codigo?
#2509
Prueba asi :
ftp -i -v -s:conexion.txt ftp.TUFTP.com

Saludos.
#2510
Scripting / Re: ayuda con ruta en batch
6 Marzo 2009, 04:35 AM
http://foro.elhacker.net/scripting/tip_sobre_acentos_en_batch-t235713.0.html