Acciones sobre archivos de texto. [Batch]

Iniciado por leogtz, 24 Enero 2009, 00:30 AM

0 Miembros y 8 Visitantes están viendo este tema.

lucaslopezld123

Buen dia Segadorfelix! no se si corresponde en este foro, pero ya que estuviste viendo el codigo de arriba te queria preguntar.
el diguiente pedacito del codigo es para determinar en que unidad se ecuentra mi pendrive

codigo:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (if exist "%%i:\INS\NINFUS" set "DRIVE=%%i:")

anda muy bien, solo que si dejo una compactera abierta o hay una lectora de multimemoria, me tira el error "unidad no esta lista" o algo asi. doy enter y luego sigue.
Con el uso de 2>nul se puede omitir ese error o hay algun otro metodo de deteccion?

Segadorfelix

Pues, lucaslopezld123 creo que se puede, pero me parece mas adecuado utilizar este metodo, oculta cualquier tipo de salida

for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (if exist "%%i:\INS\NINFUS" set "DRIVE=%%i:")>NUL 2>&1
Saludos

Eleкtro

@lucaslopezld123
es el subforo indicado, pero no el tema indicado, lee el título del tema: "Acciones sobre archivos de texto", debes crear un post para tu pregunta

Saludos









tienty

Hola! Soy nuevo en esto de Batch y me gustaría meter en una variable una cadena de texto de entre dos palabras/etiquetas que se encuentran en un archivo txt:
?id=xxxxxxxxxxx"

Gracias por vuestra ayuda :)

Eleкtro

Cita de: tienty en 23 Febrero 2013, 18:29 PMme gustaría meter en una variable una cadena de texto de entre dos palabras/etiquetas que se encuentran en un archivo txt:

Enseña la línea en concreto.

Código (dos) [Seleccionar]
@Echo OFF
FOR /F "Usebackq Tokens=2 Delims==>" %%# IN ("Archivo.txt") DO (SET "ID=%%#")
Echo %ID%
Pause&Exit


Donde "delims=" son los caracteres delimitadores.

Ejemplo:









ignorantev1.1

¿Cómo poner la salida de algún programa de linea de comandos a un archivo?

No sé si me explico:

Código (bash) [Seleccionar]

@echo off
echo miprograma.exe -suparametro >Salida.txt
Pause


Si lo hago así, en salida.txt queda "miprograma.exe -suparametro" y no el resultado de la ejecución de miprograma.exe.
(Nótese que miprograma.exe es un programa para linea de comandos)

Saludos.

Eleкtro

@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.








ignorantev1.1

Lo sé, el código sólo lo escribí para "darme a entender" con ustedes. ;)

¿Sí se entiende lo que pretendo hacer?

Saludos.

Eleкtro