Hola, como les va tengo una pequeña duda, he leído varios tutoriales en el foro y veo muchos símbolos que no se para que son y sin embargo los uso a diario. :laugh:
Si alguien me puede decir el nombre y para que sirve. Por ejemplo
Para que es este símbolo | y porque a veces lo usan así ||
Este otro >nul aveces lo veo así 2>> nul y otras parecidas
Este otro ^ aveces lo veo así ^|
Salu2 ;-)
Cita de: TheTroyanDark en 24 Enero 2012, 13:12 PM
he leído varios tutoriales en el foro y veo muchos símbolos que no se para que son y sin embargo los uso a diario. :laugh:
:¬¬ Seguro que has leido un manual?
Leiste la explicación del supuesto manual?...
Intentaré explicarlo a mi modo...
Esos comandos son para redireccionar.
| Se definen como "pipes", y sirven para redireccionar el output de un comando, al input de otro comando.
Dir /B "*.*" | Find /V /C ""
Para que se entienda, En ese ejemplo, El comando de la derecha (FIND) trabaja sobre la salida del primer comando (DIR).
>Nul Sirve para redireccionar la salida de un comando.
2>> Sirve para redireccionar la salida de un error del comando (Si diese error).
Ejemplo:
@echo off
Dir /B "dddddddd" >nul
Dir /B "dddddddd" 2>nul
Pause >Nul
El primer comando del DIR muestra el error
El segundo comando del DIR no muestra el error.
^ Sirve para escapar caracteres espaciales (Como el "
|" de la pipe) para que funcionen dentro de un nivel inferior, Como por ejemplo dentro de un FOR.
Saludos.
EDITO
Y aquí tienes el resto... www.robvanderwoude.com/redirection.php (http://www.robvanderwoude.com/redirection.php)
@echo off
Dir /B "*.*" | Find /V /C ""
Pause
Este codigo te ubica en un directorio?
pero despues que hace el find?
Cita de: geormarsch en 24 Enero 2012, 14:28 PM
Este codigo te ubica en un directorio?
no se a que te refieres esxactamente con ubicar, pero...
CD ubica
Dir lista
Cita de: geormarsch en 24 Enero 2012, 14:28 PM
pero despues que hace el find?
Los parámetros que he usado con el comando
find son:
/V Muestra todas las líneas que no tengan la cadena especificad
/C Muestra sólo el número de líneas que contienen la cadena.
Entonces, con el comando dir /B "*.*" (En este caso) recibo un output de 6 lineas, exactamente este:
C:\Users\Administrador\Desktop>dir /B "*.*"
chars.txt
fdg.bat
Listdlls.exe
STESV [ByYeisus]
TESV.exe.lnk
winsxs.lnk
Y con "
Find" busco "" de forma inversa usando
/V, y con /C muestra el número de lineas de ese resultado:
Osea, en este caso, el ejemplo de antes muestra el número de líneas del output del dir:
C:\Users\Administrador\Desktop>dir /B "*.*" | find /v /C ""
6
Y con "Find" busco "" de forma inversa usando /V, y con /C muestra el número de lineas de ese resultado: Osea, en este caso, el ejemplo de antes muestra el número de líneas del output del dir
entonces te muestra el numero de lineas de lo que especifiques, que otros usos le puedes dar al find?
Cita de: geormarsch en 24 Enero 2012, 14:50 PM
que otros usos le puedes dar al find?
Solo esos xd
Buscar cadenas en la salida de un comando, o buscar dentro de archivos de texto.
Claro despues de usar el find automaticamente muestra una respuesta..
sin necesidad de usar un echo??
Me referia si se puede utilizar aparte de cortar lineas
Cita de: geormarsch en 24 Enero 2012, 15:25 PM
Claro despues de usar el find automaticamente muestra una respuesta..
sin necesidad de usar un echo??
Me referia si se puede utilizar aparte de cortar lineas
Cada comando tiene una salida, que es mostrada en la salida standard (la pantalla).
Cuando tu haces esto:
comando1 | comando2
Pasas la salida del comando comando1 a la entrada del comando comando2.
|| se utiliza en ejecución condicional y significa un "else".
Ejemplo:
comando1 && (
rem todo salió bien
) || (
rem algo salió mal
)
Si el comando se ejecutó correctamente se ejecuta el código del &&, sino el del ||.
Leo, ¿sabes si es posible redireccionar la salida a un archivo pero en segundo plano?
Por ejemplo, quiero hacer esto:
Dir > archivo
Pero quiero que de todas formas se muestre la salida en la consola...
un saludo
muy buena la explicación, EleKtro H@cker y Sr Leo, a ese tipo de explicación me refería. Sobre todo como explico Elektro sobre >nul y leo sobre ||
Seria muy útil crear un pequeño manual o agregarlo a los que ya hay, sobre ese tipo de símbolos que me imagino que hay otros mas.
También sobre las variables como este ejemplo
set hora=%time:~0,-6% lo de color rojo no se entiende mucho por lo novatos.
Salu2.
Cita de: EleKtro H@cker en 24 Enero 2012, 18:03 PM
Leo, ¿sabes si es posible redireccionar la salida a un archivo pero en segundo plano?
Por ejemplo, quiero hacer esto:
Dir > archivo
Pero quiero que de todas formas se muestre la salida en la consola...
un saludo
Que yo sepa no, solo hay manera de trabajar con un descriptor a la vez.
Habría que ver si hay alguna implementación del comando "tee" de linux pero para windows.
Citarset hora=%time:~0,-6% lo de color rojo no se entiende mucho por lo novatos.
Para esto, mírate esta chincheta:
http://foro.elhacker.net/scripting/programacion_batch_avanzada_nuevo-t132924.0.html (http://foro.elhacker.net/scripting/programacion_batch_avanzada_nuevo-t132924.0.html)
Gracias, chicos, este tema lo podemos dar por solucionado.
Salu2 :adios: