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 - Eleкtro

#9301
El redireccionamiento funciona para TODOS los programas que séan CommandLine.

El problema que dices tener sólo puede ser una de estas dos razones:
  • 1. Que el programa no séa CommandLineInterface
  • 2. Que no estés redireccionando la salida correcta. (Hay una salida standard y otra de errores)

    En algunos programas la salida standard es la "2" por extraño que parezca (Por ejemplo en el FFMPEG), y en esos casos deberás hacer esto (Pruébalo):

    Código (dos) [Seleccionar]
    MiPrograma.exe 2> "Archivo.txt"

    De todas formas también puedes hacerlo con un FOR, AUNQUE ESTA MANERA ES MUY INCORRECTA (Porque con el redireccionamiento es suficiente, pero si dices que no te funciona...):

    Código (dos) [Seleccionar]
    (For /F "Tokens=*" %%# in ('MiPrograma.exe') Do (Echo %%#))>"Archivo.txt"

    Saludos.
#9304
@ignorantev1.1
El comando "Echo" es para escribir información en la pantalla, "MiPrograma.exe" no se llega a ejecutar, sólo lo escribes en la pantalla, y mucho menos vas a poder mostrar el output de un programa que no se ha ejecutado... en resumen, no uses "Echo".

miprograma.exe -suparametro >Salida.txt

Esto es más que básico, deberías leer cualquier tutorial para principantes.

Saludos.
#9305
Scripting / Re: copiar en .bat
1 Marzo 2013, 00:26 AM
Cita de: submarino_02 en 28 Febrero 2013, 22:53 PM
vale la pena el copy envez de xcopy... o las carpetas de dentro de una carpeta no se copian...

Ya te lo he explicado la primera vez de forma resumida, pero bueno.

Si usas Copy sólo te copiará todo lo que haya en la raiz de esa carpeta.

Ejemplo:
.\Carpeta\
.\Carpeta\Archivo1.txt
.\Carpeta\Archivo2.txt
.\Carpeta\Subcarpeta\Archivo.txt
.\Carpeta\Subcarpeta2\Archivo.txt
.\Carpeta\Subcarpeta3\Archivo.txt


Si usas:
Copy "Carpeta\" ·Destino\"
sólo se copiará "Archivo1.txt" y "Archivo2.txt".

Vuelvo a citar:
Cita de: EleKtro H@cker en 28 Febrero 2013, 01:28 AMCopy no afecta a carpetas, es para archivos, debes usar XCopy.

Saludos!

#9306
Cita de: legolas266 en 28 Febrero 2013, 11:31 AM
CitarSET /A "Word_Length=%%~z# - 5")

Tutorial extendido de aprendizaje Batch by Elektro H@cker
6.1 Variables especiales (o Variables de parámetro) (o Variables de argumentos)


CitarExpansión de variables especiales (o Argumentos) y de variables de FOR
%~z0        - expande %0 a tamaño del archivo

1 caracter escrito equivale a 1 byte de tamaño, así que con ese método sacamos el tamaño del archivo (que es lo mismo que sacar la longituid del string porque se cuentan de 1 en 1), le descuento 5 (-5) por los bytes de las comillas y los espacios.





Cita de: legolas266 en 28 Febrero 2013, 11:31 AM
CitarCall Set "Compare_A=%%WORD:~0,%Word_Middle%%%"
Call Set "Compare_B=%%WORD:~-%Word_Middle%%%"

No.

Substring: Extraer parte de una variable.

http://ss64.com/nt/syntax-substring.html

Si la palabra es "atoyota", almaceno en la primera variable "ato" y en la segunda "ota", y lo mismo si en lugar de palabras usases números...






Cita de: legolas266 en 28 Febrero 2013, 11:31 AM
CitarFOR /L %%X in (1,1,%Word_Middle%) DO (Call Set "Compare_B_REVERSED=%%Compare_B_REVERSED%%%%Compare_B:~-%%X,1%%")
De esta linea llego a entender, que como en el caso de un palindromo el contenido de la variable es texto se pone For/L, en el caso del capicua se pondria For (sin /L, verdad?)

Tampoco.

Lée el comentario de esa línea, ese FOR lo uso para hacer un Reverse-String de la variable "Compare_B", es necesario tanto para strings alfabéticos, numéricos, o alfanuméricos.

Variable normal:
monje

Variable al revés:
ejmon

Cita de: legolas266 en 28 Febrero 2013, 11:31 AM
Call Set "Compare_B_REVERSED=%%Compare_B_REVERSED%%%%Compare_B:~-%%X,1%%")

Tutorial extendido de aprendizaje Batch by Elektro H@cker
4.8 Otros operadores


Citar%

Este operador sirve para identificar y usar las variables standard, las variables de FOR, y las variables especiales (Variables de argumento).

%0
%%A
%VARIABLE%


NOTA: Como norma general, directamente en la consola el caracter % solo se usa una vez (Incluso al escribir un FOR), pero en un script hay que duplicar el número de veces que se repite este caracter para poder identificarlo %%, y el número de veces que hay que repetir el caracter aumenta según la recursividad del código.

Para strings numéricos es más sensato que uses la expansión retardada:

Tutorial extendido de aprendizaje Batch by Elektro H@cker
6.3 Variables expandidas







Resumen del código entero:

Introducimos la palabra "atoyota"
El código separa el string así:  ato-y-ota
en la variable "Compare_A" se almacena "ato"
en la variable "Compare_B" se almacena "ota"
a la variable "Compare_B" se le da la vuelta quedando así: "ato"
se compara si la variable "A" y la "B" son iguales (ato = ato) y entonces es palíndromo.

Lo mismo con los números:
introduces "123321"
El código separa el string así:  123-321
en la variable "Compare_A" se almacena "123"
en la variable "Compare_B" se almacena "321"
a la variable "Compare_B" se le da la vuelta quedando así: "123"
se compara si la variable "A" y la "B" son iguales, ¿123 = 123? si, pues es capicúa.

Saludos.
#9307
Hola,

Te dije que este código sirve tanto para palabras palíndromas cono números palíndromos (capicúas).

Cita de: EleKtro H@cker en 24 Febrero 2013, 20:02 PM
Código (dos) [Seleccionar]
@Echo OFF

REM By Elektro H@cker

:: Esperar el input del usuario
Set /P "Word=Introduce una palabra >> "

:: Obtener la longitud del input
(ECHO "%WORD%">"%TEMP%\Word.txt" & FOR %%# IN ("%TEMP%\Word.txt") DO (SET /A "Word_Length=%%~z# - 5"))

:: Obtener el punto de separación del string
Set /A "Word_Middle=%Word_Length% / 2"

:: Setear las variables de las comparaciones
Call Set "Compare_A=%%WORD:~0,%Word_Middle%%%"
Call Set "Compare_B=%%WORD:~-%Word_Middle%%%"

:: Revertir la variable "Compare_B"
FOR /L %%X in (1,1,%Word_Middle%) DO (Call Set "Compare_B_REVERSED=%%Compare_B_REVERSED%%%%Compare_B:~-%%X,1%%")

:: Comparar y mostrar el resultado
IF "%Compare_A%" EQU "%Compare_B_REVERSED%" (
Echo El string es palindromo.    | MORE
) ELSE (
Echo El string no es palindromo. | MORE
)

Pause&Exit



saludos
#9308
Scripting / Re: copiar en .bat
28 Febrero 2013, 01:28 AM
Aparte de las comillas, Copy no afecta a carpetas, es para archivos, debes usar XCopy.

Saludos
#9309
Ah, vaya, pues no me fijé en que querías exprésamente una imagen del sistema, culpa mía.

Entonces es mucho más sencillo que hagas esto:
Wbadmin start backup -backupTarget:L: -include:C: -quiet

Saludos
#9310
La solución milagrosa:



He tenido que disminuir un poco los valores por defecto de fábrica de la tarjeta (-100 y -100, más o menos) con Asus GPU Tweak y ya no me ha vuelto a pasar el problema.

Aunque esto ya lo hice con la Tool de nVidia y no me funcionó... pero eso ya es algo que me da exáctamente igual.

PD: Con insistencia todo (o casi todo xD) se consigue.  ::)  ::)  ::)

Pueden cerrar el tema si lo desean.

Saludos!