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

#11121
Scripting / Re: [Ayuda]Programa
19 Abril 2012, 17:41 PM
Cita de: TMarmol en 19 Abril 2012, 16:48 PM
Y para que sirve llamar al comando en vez de ejecutarlo directamente?
call xcopy

No estás llamando a un comando, Estás llamando a una subrutina que su etiqueta se llama XCOPY.

Entre otras cosas, En ese código sirve para pasarle parámetros, y no tener que repetir (escribir lineas) el comando muchas veces.
En un tutorial básico explican esas cosas a la perfección.

salu2


PD: En el code de antes quise poner mkdir 2>NUL XD
#11122
Cita de: Songoku en 19 Abril 2012, 14:21 PM
De nada serviria configurar el format factory para que use el codec divx en lugar del xvid porque si luego no tienes el codec divx instalado en el sistema pues estamos en la misma y te daria el mismo error solo que el error mencionaria al codec divx en vez de al xvid.
Hombre, Eso es cierto. Yo solo decía lo de divx porque doy por supuesto que el resto de avis (en divx) si q podia verlos nichi, que el codec q le faltaba era xvid solamente xD, pero si te falta también el divx, necesitarás instalarlo, claro.

Cita de: nichihack en 19 Abril 2012, 14:43 PM
Porqué instalarme el K-lite codec pack?
Es un pack, Pero no es ningún pack basura, Es el mejor con diferencía.

Y si tienes 64 Bit, Puedes instalarte el klite codec pack x64 (COMO COMPLEMENTO del codec pack normal)
No te arrepentirás.

Saludos

#11123
El problema del número y de abrir la url en el navegador:

@Echo OFF
Setlocal enabledelayedexpansion

FOR /F "tokens=*" %%S IN (test.txt) DO (
Set /A num+=1
Set "Url!NUM!=%%S"
echo !NUM! %%S)
Echo: | more

CHOICE /M "Desea ser redirigido a un sitio: "
IF %errorlevel% EQU 2 (GOTO :ADM)

:REDIR
SET /P "NUM= Numero de sitio: "
REM START /B "RUTA DE TU NAVEGADOR" !URL%NUM%!
START /B C:\"Program Files (x86)\Mozilla Firefox\firefox.exe" !URL%NUM%!
Pause
Exit



El problema de eliminar una linea de texto:
[BATCH] Como buscar y eliminar una linea de texto (Solucionado)

Salu2
#11124
Scripting / Re: [Ayuda]Programa
19 Abril 2012, 00:19 AM
Aqui tienes una mini mini funcion:

Código (dos) [Seleccionar]
@Echo OFF

:: By Elektro H@cker

REM Modo de empleo:
REM
REM Call :XCOPY "[RUTA DE ORIGEN]" "[EXTENSION]" "[RUTA DE DESTINO] [OPCIONES de XCOPY]"
REM
REM Ejemplo:
REM
REM Call :XCOPY "C:\Windows\System32" "dll" "C:\"
REM Echo %Copied%

:XCOPY
IF NOT Exist "%~1" (Exit /B 1) ELSE (IF NOT Exist "%~3" (Exit /B 1))
For /F "tokens=*" %%#  in ('XCopy %4 "%~1\*.%~2" "%~3" ^| FIND /V "" ^| Find /V /C "copiado(s)"') Do (Set "Copied=%Copied%, %%#.%~2")
Goto :EOF


Un bat de ejemplo para resolverte las dudas:

Código (dos) [Seleccionar]
@Echo OFF

MKDIR C:\Test >NUL
Call :XCOPY "C:\Windows" "exe" "C:\test" /Y
Call :XCOPY "C:\Windows" "ini" "C:\test" /-Y
Call :XCOPY "C:\Windows" "dll" "C:\test"
Goto :FIN

:XCOPY
IF NOT Exist "%~1" (Exit /B 1) ELSE (IF NOT Exist "%~3" (Exit /B 1))
For /F "tokens=*" %%#  in ('XCopy %4 "%~1\*.%~2" "%~3" ^| FIND /V "" ^| Find /V /C "copiado(s)"') Do (Set "Copied=%Copied%, %%#.%~2")
Goto :EOF

:FIN
Echo %copied:~2% Fueron copiados.
pause
exit


output:
Citar8.exe, 5.ini, 2.dll Fueron copiados.




Si prefieres algo más sencillo, menos elaborado:

Código (dos) [Seleccionar]
@Echo OFF

Set EXT=ini
For /F "tokens=1,* Delims= " %%# in ('XCopy /Y "C:\Windows\*.%EXT%" "C:\Test" ^| Find "copiado(s)"') Do (Set "Copied=%COPIED%, %%# archivos .%ext%")

Set EXT=exe
For /F "tokens=1,* Delims= " %%# in ('XCopy /Y "C:\Windows\*.%EXT%" "C:\Test" ^| Find "copiado(s)"') Do (Set "Copied=%COPIED%, %%# archivos .%ext%")

:FIN
Echo %copied:~2% Fueron copiados.
pause
exit


output:
Citar5 archivos .ini, 8 archivos .exe Fueron copiados.


Salu2
#11125
¿Cual es el problema?

Puntoinfinito , +1.
Me parece genial que ayudes sobre Batch a otros usuarios dentro o fuera del foro

Pero, Si tiene una duda, Es libre de hacer un post y quien pueda le ayudará en lo posible.

PD: me pregunto si el mensaje que escribiste va en parte dirigido a mi por algo  :-\
PD2: Espero que si Defaultuser vuelve a postear use el botón Insertar código... xD

Salu2
#11126
el problema está claro, no encuentra el decodificador del codec Xvid
creo que tuve el mismo problema con un video, y songoku me dió la mejor solución, y muy obvia (instalar el codec xD)

Así que ya sabes :P
http://www.xvid.org/Downloads.15.0.html

salu2

Edito: otra solución seria que en el formatfactory, escojieses como codec DIVX
#11127
Cita de: ELVJop en 18 Abril 2012, 17:55 PM
Exactamente cuales son sus funciones?

El CTool, o el FOR?

El ctool lo puedes usar para enviarle un parámetro al programa (el parámetro sería los bytes) y recibir el resultado en gb, para poder setearlo.

Y el for sirve para hacer cosas como esta:

Código (dos) [Seleccionar]
@Echo OFF
For /F %%? in ('wmic logicaldisk where "DeviceID='C:'" get size ^| Findstr "[0-9]"') Do (Set "Size_Bytes=%%?")
For /F "Tokens=2 delims==" %%? in ('ctool %Size_Bytes% bytes gb') Do (Set "Size_GB=%%?")
Echo Bytes: %Size_Bytes%
Echo GB   :%Size_GB%
Pause >NUL


output:
CitarBytes: 500106752000
GB   : 465.76 GB


Otro ejemplo más automatizado:

Código (dos) [Seleccionar]
@Echo OFF

For /F "tokens=1,* delims= " %%X  in ('wmic logicaldisk get Caption^,size ^| Find ":"') Do (
For /F "Tokens=2 delims==" %%Z in ('ctool %%Y bytes gb') Do (
Echo Disco: %%X
Echo Bytes: %%Y
Echo GB   :%%Z
Echo+
)
)
Pause >NUL



output:
CitarDisco: C:
Bytes: 500106752000
GB   : 465.76 GB

Disco: F:
Bytes: 2000396742656
GB   : 1863.01 GB
#11128
Cita de: ELVJop en 18 Abril 2012, 16:54 PM
EL link del programa esta roto.

Resubido: http://www.4shared.com/file/mjPOirX9/CTool.html


PD: Usa el buscador del foro.
http://ss64.com/nt/for_f.html
ahi tienes algunos ejemplos de FOR /F
#11129
Cita de: ELVJop en 18 Abril 2012, 15:52 PM
Y para la capacidad total?
wmic logicaldisk where "DeviceID='C:'" get size

PD:
Mira los datos q puedes obtener para evitar preguntas acerca de lo mismo xD:
wmic logicaldisk where "DeviceID='C:'" get /format:list




Cita de: ELVJop en 18 Abril 2012, 15:52 PM
no me siver tenerlo en bytes si lo pudiera poner en una variable lo podira sumar y restar con Set /a
1º - Puedes hacer un FOR para obtener y setear la 3ª linea del output del wmic (los bytes).
2º - No puedes hacer la conversión de bytes a mb/gb/tb en Batch, No soporta esa profundidad de bits en la operación. Esto es Batch!
Alternativas: Puedes usar PSinfo o un programita más sencillo que hice para convertir bytes a mb/gb/tb/pb
[Batch] [Ruby] Ctool (Convertidor de unidades Bytes, KB, MB, GB, TB y PB)




Cita de: ELVJop en 18 Abril 2012, 15:52 PM
Una preguntita aparte: estreso con tantas preguntas? es que googleando nunca lo encuentro.
No te preocupes, Si fuesen dudas dificiles (Y muchas cada dia) si q me darías trabajo xD
#11130
Cita de: ELVJop en 18 Abril 2012, 15:06 PM
echo |-         | 10%

Te doy una pista de porque no funciona :P
Cita de: BatchSet /?

Operadores:
   
    ()                  - agrupar
    ! ~ -               - operadores unarios
    * / %              - operadores aritméticos
    + -                 - operadores aritméticos
    << >>               - desplazamiento lógico
    &                   - bit a bit y

    ^    - bit a bit exclusivo o
    |      - bit a bit
    = *= /= %= += -=   - asignación
    &= ^= |= <<= >>=
    ,                   - separador de expresión




Cita de: ELVJop en 18 Abril 2012, 15:06 PM
no sabra alguien el comando para mostrar el espacio libre?

Puedes hacerlo con wmic, o un for con el comando DIR.
Código (dos) [Seleccionar]
wmic logicaldisk where "DeviceID='C:'" get FreeSpace

PD: El total es en Bytes de cualquier manera en Batch.

Saludos