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

#681
Cita de: krizalidk en  7 Febrero 2014, 22:42 PM
te comento hice un bat asi de esta forma

at 8:00 /every:L,M,X,J,V defrag C

pero que esto se aplique a cualquier usuario del dominio que se conecte

Ese bat es erroneo, en el bat solo tienes que poner que de desfragmente el disco, y luego con una directiva de AD programas la tarea.

PD: lee mas sobre AD.



#682
El caso es que con la directiva le dices que se ejecute a X hora el .bat.  :P
#683
Creando una directiva de grupo quizás haya alguna opción que te lo haga sin tener que hacer que ejecute el .bat al inicio. Si no, puedes usar el comando defrag.

#684
El S.O. no te lo va a abrir, lo que te va a abrir son los datos del disco duro (los directorios y archivos).

Los programas no te van a funcionar y los vas a tener que reinstalar en el disco duro nuevo.

Otra solución si no puedes instalar los programas de nuevo es copiar los archivos de los programas del disco duro viejo al nuevo.

Los programas se instalan normalmente en la ruta:
C:\Archivos de programa

El problema es que es posible que algún programa no te funcione haciendo esto.
#685
Lo archivos no tienen letra de unidad...  :rolleyes: Y vas a poder acceder a ellos perfectamente aunque estén en otra unidad.

¿No te funciona algún programa en concreto? Es útil que despliegues bien tu problema para ayudarte con una solución adecuada.

#686
Creo que desde batch no se puede cambiar la letra de una unidad, pero a mano sí:

http://support.microsoft.com/kb/307844/es

¡un saludo!
#687
Exacto, te lo dejo en VBS

Código (vb) [Seleccionar]
Dim Numero

Numero = 0.33

Numero = Numero * 100

Msgbox Numero & "/100"
#688
Supongo que el Everest te lo dirá, si no te lo dice, solamente con el modelo puedes obtener las características de la pagina del fabricante

De todas formas lo mas fácil es que mires físicamente en el disco duro.

un saludo.
#689
Programación C/C++ / Re: Problema al empezar
6 Febrero 2014, 19:36 PM
system es una función que esta en stdlib.h, incluye esa librería y se acaba el problema.
#690
Scripting / [TUTORIAL] Perl
6 Febrero 2014, 11:23 AM
Debido a lo poco que se ve Perl en la sección me he decidido a escribir una pequeña introducción, ya que pienso que casi no se trata este lenguaje en esta sección, y es un lenguaje muy potente y flexible.

¿Como instalar el interprete de Perl?

Lo podemos descargar de aquí:

http://www.perl.org/get.html

Para Windows disponemos de dos interpretes ActiveState y StrawBerry. Personalmente uso ActiveState pero esto como todo, va por gustos.

Nota: En sistemas Linux esta instalado por defecto, así que no lo tendrás que instalar.

¿Ya  tengo instalado el interprete pero... Como ejecuto mis scripts?

En primer lugar todos los scripts en Perl tienen que tener la extensión .pl. Para ejecutarlo es tan facil como hacer doble clic sobre el script o bien desde la linea de comandos:

perl miscript.pl

Para probar podéis crear este pequeño script con el famoso mensaje "Hola Mundo!"

Código (perl) [Seleccionar]

#!/usr/bin/perl
print "Hola Mundo!"; # Imprimimos en pantalla el saludo


Aclaraciones rápidas sobre el script de arriba:

-Todas las lineas de código acaban con el punto y coma (';').
-Los comentarios se escriben con la almohadilla ('#')
-La linea 1 indica la ruta del interprete (En principio esto es solo necesario para sistemas Linux).

Dicho esto, ¡empecemos!.

Variables

Las variables se declaran con my y tienen que tener delante del nombre el símbolo del dolar ('$'). Además en este lenguaje no hay tipos de variables, es decir, se declara igual una variable que contiene un número que una que tiene una cadena.

Ejemplos de declaraciones de variables:

Código (perl) [Seleccionar]
#!/usr/bin/perl

my $cadena = "hola soy una cadena\n";
my $numero = 1;

my $n1 = 2;
my $n2 = 3;

print $cadena;

print $n1 + $n2 . "\n"; # suma e imprime los valores de las variables
print $n1 . $n2 . "\n"; # Concatena los numeros (Los tata como cadena)
print "$n1$n2\n";  # Otra forma de hacer lo de la linea de arriba

exit;


Algunos datos del código de arriba:

-En las lineas 3,11,12 y 13 vemos los caracteres '\n', dichos caracteres indican salto de linea.
-El operador punto (".") concatena cadenas (Si, el interprete se ha encargado de pasar el número a cadena antes de unirlo).
-La linea 12 hace exactamente lo mismo que la linea 13.
-exit termina la ejecución del script (Esto no es necesario ponerlo, pero es bueno saberlo.)


Arrays

Los arrays también se declaran con my, pero en vez de usar el dolar, se usa el arroba ('@').

Ejemplo de declaración de un array:

Código (perl) [Seleccionar]
#!/usr/bin/perl

my @array; # array sin inicializar
my @animales = ('Gato','Perro','Pez'); # array inicializado

print "$animales[0]\n"; #imprimimos el primer elemento del array 'Gato'
print "$animales[1]\n"; #imprimimos el segundo elemento del array 'Perro'


Aclaraciones:

-El primer elemento de un array es el 0, no el no como podemos comprobar en la linea 6.
-Para acceder a los elementos se usa el simbolo del dolar ($animales[0]).

En Perl existen funciones como push o pop, para manejar los arrays.

push introduce elementos al array y pop los saca, ejemplo:


Código (perl) [Seleccionar]
#!/usr/bin/perl
my @animales = ('Gato','Perro','Pez'); # array inicializado

print "El ultimo animal de la lista es el: $animales[2]\n";

push @animales,"Foca";

print "Ahora el ultimo animal es: $animales[3]\n";

pop @animales;
pop @animales;

print "Ahora el animal $animales[3] no esta\n";
print "El ultimo animal ahora es: $animales[1]\n";


Hay muchas mas funciones, podemos encontrar algunas más explicadas aquí

Operadores aritméticos

Esto suele variar poco de un lenguaje de programación a otro.

Suma: +
Resta: -
Multiplicación: *
División: /
Potencia: **
Residuo de una operación: %

Perl, puede convertir número a cadena y viceversa, ejemplo:

Código (perl) [Seleccionar]
#!/usr/bin/perl
my $n1 = 5;
my $n2 = 3;

my $c1 = '5';
my $c2 = '5';

print "Trata los numeros como cadena: $n1$n2\n"; # devolvera 85
print $c1 + $c2 . "\n"; # devolvera 10


También existen, al igual que en C y C++ los operadores de incremento y decremento:

Código (perl) [Seleccionar]
my $var = 1;
$var++; # Incremento en uno el valor de la variable
print $var . "\n";
$var--;   # Decremento en uno de valor de la variable
print $var . "\n";


Operadores Lógicos

and: &&
or: ||
not: !

Estos operadores se usan casi siempre como complemento de la sentencia if, pero en ese lenguaje tienen otros usos como por ejemplo indicar errores:

Código (perl) [Seleccionar]
open(FILE,"archivo.txt") || die("No se puedo abrir el archivo");

En este caso si no abre el archivo muestra el mensaje de error.

if

Esta sentencia nos sirve para controlar el flujo del programa, ej:

Código (perl) [Seleccionar]
#!/usr/bin/perl

my $var = 1;

if ($var == 1) # sentencia if
{
   # si $var es igual a uno se ejecuta lo que esta aqui
print "\$var es igual a 1\n";
}else{
   # si no es igual a uno se ejecuta esto
print "\$var NO tiene valor 1\n";
}

system("PAUSE"); # con system enviamos comandos al sistema


En las lineas 8 y 11 aparece un '\' delante de $var, ese símbolo es de escape, si no estuviera nos motraría el valor de la variable:

Código (perl) [Seleccionar]
#!/usr/bin/perl

my $var = 1;

print "$var\n";
print "\$var\n";

system("PAUSE");


Con la función system enviamos un comando al sistema, en este caso (para Windows) realiza una pausa, si no pusiéramos la línea system("PAUSE") al ejecutarse el programa la consola desaparecería.

También podemos realizar comparaciones de esta manera:

Código (perl) [Seleccionar]
if (Comparacion) # se realiza la comparacion
{
}elsif (comparacion) # si no se cumple la de arriba se vuelve a ralizar otra comparacion
{
}elsif (Comparacion)  # Si no se cumple la de arriba de vuelve a realizar otra comparacion
{
}else{ # Si no se cumple ninguna de las anteriores se ejecuta esta

}


Ejemplo práctico:

Código (perl) [Seleccionar]
#!/usr/bin/perl

my $var = 1;

if ($var == 2) # se realiza la comparacion
{
print "Es igual a 2\n";
}elsif ($var == 3) # si no se cumple la de arriba se vuelve a ralizar otra comparacion
{
print "Es igual a 2\n";
}elsif ($var == 3)  # Si no se cumple la de arriba de vuelve a realizar otra comparacion
{
print "Es igual a 2\n";
}else{ # Si no se cumple ninguna de las anteriores se ejecuta esta
   print "No es igual a ninguna de las anteriores\n";
}

system("PAUSE");


Ahora vamos a ver los operadores de los que disponemos para realizar dichas comparaciones:


Tipo              Númerico   Cadena
Mayor A            >               gt
Menor A             <              lt
Igual A            ==              eq
No Igual A            !=            ne
Menor o Igual A     <=           le
Mayor o Igual A     >=          ge


No podemos comparar una cadena con el equivalente numerico ni viceversa, ej:

Código (perl) [Seleccionar]
my $c1  = "hola";
my $c2  = "adios";

my $n1 = 1;
my $n2 = 2;

if ($c1 eq $c2) # sentencia CORRECTA
{
   # Si son iguales de ejecuta
}

if ($c1 == $c2) # sentencia ERRONEA
{
   # Si son iguales de ejecuta
}

if ($n1 eq $n2) # sentencia ERRONEA
{
   # Si son iguales de ejecuta
}

if ($n1 == $n2) # sentencia CORRECTA
{
   # Si son iguales de ejecuta
}


for

Los bucles for se pueden usar como en C:

Código (perl) [Seleccionar]
for (my $i = 0; $i<10; $i++) # se repite 10 veces
{
    print "$i \n";
}


O de esta manera, mas característica de este lenguaje:

Código (perl) [Seleccionar]
for my $i (1..10) # Se repite 10 veces
{
   print "$i\n";
}


while

Este bucle se repite hasta que la sentencia sea falsa, de tal manera que esto:

Código (perl) [Seleccionar]
while (1)
{
   print "while!\n";
}


Sería un bucle infinito.

Otro ejemplo que suma tres números:

Código (perl) [Seleccionar]
my $i = 0;
my $num = 0;

while ($i<3)
{
   $num = $num + <STDIN>;
   #$num += <STDIN>; # esta linea hace exáctamente lo mismo que lo de arriba.    
   $i++;
}

print "Suma totalde los numeros: $num\n";


<STDIN>
lo que hace es leer datos de entrada.