elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderador: Eleкtro)
| | |-+  ejecutar linea de comando en .bat
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ejecutar linea de comando en .bat  (Leído 742 veces)
narvaezmv

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ejecutar linea de comando en .bat
« en: 29 Junio 2017, 05:09 »

Hola buenas!

requiero de una ayuda tengo un batch en donde quiero que me ejecute la linea de comando para que me copie las lineas de texto completas a otro, actualmente esta asi:

for %f in (prueba_2017.log) do type "%f" >>Ping.txt

"esta es la linea de comando que tengo en el bacth para que me copie la informacion de un .log a un .txt"

pero cuando lo ejecuto en .bat no me hace nada, solo me funciona cuando copio esa linea con el mouse y la pego en un CMD y le doy enter, pero quiero que se me ejecute sola cuando le doy doble clic al .bat

gracias


En línea

Eleкtro
🌍 🕉️ 🛏️ Novato Astral 🛏️ 🕉️ 🌍 y...
Moderador Global
***
Desconectado Desconectado

Mensajes: 9.298


El sentido común es el menos común de los sentidos


Ver Perfil
Re: ejecutar linea de comando en .bat
« Respuesta #1 en: 29 Junio 2017, 13:19 »

pero cuando lo ejecuto en .bat no me hace nada, solo me funciona cuando copio esa linea con el mouse y la pego en un CMD y le doy enter

En un archivo batch-script tienes que duplicar el símbolo % de la variable del FOR:

Código
  1. for %%f in (prueba_2017.log) do type "%%f" >>Ping.txt

Al escribir la instrucción directamente en la CMD, tienes que reducir la cantidad (escribir un % en lugar de dos %%), por eso solo te funciona en la CMD...

De todas formas ese comando no te va a funcionar para el propósito que quieres, puesto que la sintaxis es incorrecta, así lo que haces es leer el nombre del archivo, no las lineas de texto que contiene el archivo... para eso debes usar un FOR /F:

Código
  1. (
  2.    For /F "UseBackQ Tokens=* Delims=" %%# In ("Input.txt") Do (Echo %%~#)
  3. )>"Output.txt"

...Pero si tu intención es, literálmente hablando, copiar el contenido de un archivo a otro, ¿entonces por qué estás usando un FOR para intentar leer las lineas una a una? (además el comando FOR ignorará cualquier linea vacía...), eso es completamente innecesario además de expensivo, en su lugar puedes usar el comando Copy.

Código
  1. Copy "Input.txt" "Output.txt"

...O en su defecto, también puedes utilizar el comando Type (sin un FOR de por medio).

Código
  1. (Type "Input.txt")>"Output.txt"

Saludos


« Última modificación: 29 Junio 2017, 13:24 por Eleкtro » En línea


[/cent
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ocultar linea de comando....
Programación Visual Basic
Hole_System 0 856 Último mensaje 1 Junio 2008, 21:26
por Hole_System
Linea de comando para lanzar kismet
Wireless en Linux
diandaya 2 2,093 Último mensaje 5 Junio 2008, 16:14
por diandaya
Alguien me interpreta esta linea de comando del cmd¿?
Windows
Draklit 4 1,476 Último mensaje 18 Diciembre 2009, 04:15
por Draklit
[API] Facebook en linea de comando !?
PHP
Diabliyo 0 1,315 Último mensaje 19 Marzo 2012, 14:42
por Diabliyo
Medir tiempo que tarda un comando en ejecutarse (y ejecutar el comando)
GNU/Linux
ccrunch 2 1,141 Último mensaje 2 Diciembre 2014, 00:59
por MinusFour
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines