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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  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 3,211 veces)
narvaezmv

Desconectado Desconectado

Mensajes: 1


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

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
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



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

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 pm por Eleкtro » En línea



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 1,615 Último mensaje 1 Junio 2008, 21:26 pm
por Hole_System
[API] Facebook en linea de comando !?
PHP
Diabliyo 0 2,361 Último mensaje 19 Marzo 2012, 14:42 pm
por Diabliyo
Recibir comandos en el formulario por línea de comando
.NET (C#, VB.NET, ASP)
Crazy.sx 2 3,052 Último mensaje 29 Julio 2013, 19:56 pm
por Eleкtro
Medir tiempo que tarda un comando en ejecutarse (y ejecutar el comando)
GNU/Linux
ccrunch 2 3,746 Último mensaje 2 Diciembre 2014, 00:59 am
por MinusFour
Ejecutar línea de comando desde porta papeles
Scripting
CAEL20 5 3,260 Último mensaje 13 Marzo 2018, 16:41 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines