Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: priapismico en 24 Enero 2015, 21:32 pm



Título: ayuda con dos programas .bat
Publicado por: priapismico en 24 Enero 2015, 21:32 pm
El primero:

Diseñar un bat que reciba hasta 5 parámetros con nombres de ficheros. Por cada uno de los parámetros recibidos (si los hay) nos preguntará por el texto del fichero, creándolo con Copy Con %n.

El segundo:

Copiar un conjunto de ficheros (número indeterminado) con sus líneas ordenadas en un fichero de destino. Utilizar la instrucción SET. La sintaxis de la orden será
CopiarOrd dest.txt Orig1.txt Orig2.txt Orig3.txt …
Se debe comprobar que haya un fichero destino y que haya al menos un fichero origen. Además se verificará que los ficheros origen existen.
Al final del proceso, tras pausar y borrar la pantalla, se mostrará el fichero resultado.

Gracias de antemano!


Título: Re: ayuda con dos programas .bat
Publicado por: engel lex en 24 Enero 2015, 21:38 pm
que no sabes? donde te trancas? que llevas hecho?

no se hacen tareas, se resuelven dudas


Título: Re: ayuda con dos programas .bat
Publicado por: Eleкtro en 24 Enero 2015, 23:05 pm
¿Que buscas, orientación, o que te hagan los trabajos?.


Elementos necesarios para llevar a cabo el problema nº1:

Código:
%1 - %5
Copy CON
EQU
IF
Set /P


Elementos necesarios para llevar a cabo el problema nº2:

Código:
CLS
FOR /F
If Exists
Pause
Set
Sort
Type
|
||


Saludos.


Título: Re: ayuda con dos programas .bat
Publicado por: priapismico en 25 Enero 2015, 00:32 am
Busco orientacion...

me han mandado una hoja con 10 ejercicios y en esos dos no sé bien como hacerlos..

en el primero: "nos preguntará por el texto del fichero, creándolo con Copy " esto es lo que no me queda claro...

Código
  1. @echo off
  2. :inicio
  3. if "%1"=="" goto fin
  4. echo que texto quiere introducir?
  5. copy %n
  6. :fin


Título: Re: ayuda con dos programas .bat
Publicado por: Eleкtro en 25 Enero 2015, 15:03 pm
Aquí estás comparando """" con "", por lo tanto nunca irá a la etiqueta fin:
Código
  1. @echo off
  2. :inicio
  3. if "%1"=="" goto fin
Debes expandir la variable de argumento para eliminar las comillas dobles adicionales.


en el primero: "nos preguntará por el texto del fichero, creándolo con Copy " esto es lo que no me queda claro...

Supongo que el ejercicio se refiere a hacerlo de la siguiente manera:

Código
  1. @Echo OFF
  2. If "%~1" NEQ "" (Call :CreateText "%~f1")
  3. Pause&Exit /B 0
  4.  
  5. :CreateText
  6. Echo:Escribe el texto del archivo.
  7. Echo:Presiona CTRL+Z para terminar.
  8. Copy CON "%~f1"
  9. Goto:EOF

Saludos


Título: Re: ayuda con dos programas .bat
Publicado por: priapismico en 25 Enero 2015, 17:11 pm
Gracias por la ayuda..
Código:

@echo off
if "%~1" neq "" goto crearTexto
echo No existe el archivo
goto fin
:crearTexto
echo Escribe el texto del archivo
echo Presiona CTRL+Z para terminar
copy con "%~1"
:fin

solo me inserta texto en el primer fichero que le paso por parametro, si le paso por ejemplo, dos mas, ni me los coge..


Título: Re: ayuda con dos programas .bat
Publicado por: Eleкtro en 25 Enero 2015, 18:03 pm
solo me inserta texto en el primer fichero que le paso por parametro, si le paso por ejemplo, dos mas, ni me los coge..
Claro, jeje, es solo un ejemplo que actua unicamente con el primer argumento.

Como te dijo el compañero @engel lex no hacemos trabajos, resolvemos dudas, de todas formas te dejé el código muy fácil...

Intenta hacerlo por ti mismo y muestra tus avances.

Aquí tienes documentación sobre el uso de las variables de argumento:
Tutorial extendido de aprendizaje Batch - By Elektro
6.1 Variables especiales (o Variables de parámetro) (o Variables de argumentos)
(http://foro.elhacker.net/scripting/tema_bloqueado_hasta_finalizar_el_tuto_tutorial_extendido_de_aprendizaje_batch-t375135.0.html;msg1797955#msg1797955)

Y aquí más:
Parameters / Arguments | Windows CMD | SS64.com (http://ss64.com/nt/syntax-args.html)

Saludos!


Título: Re: ayuda con dos programas .bat
Publicado por: priapismico en 25 Enero 2015, 20:58 pm
Es una hoja de 10 ejercicios en los que no entendia 2 de ellos, no estoy pidiendo que me los hagan, ni mucho menos. El profesor ni lo ha explicado, estoy volviendome loco buscando ejemplos parecidos, pq no puedo usar algunas cosas que ni sé (como el bucle for, la llamada call, etc.) tan solo ceñirme a lo que pone. Hay que entregarla a las 22.05 de esta noche y solo queria ayuda, si no sé cómo juntar varios parámetros.. y tampoco se responde a eso.. ya me dirás... Aún así, gracias por vuestro tiempoy en otras dudas nos encontraremos!

Código:

@echo off
if "%~1" neq "" goto crearTexto
echo No existe el archivo
goto fin
:crearTexto
echo Escribe el texto del archivo
echo Presiona CTRL+Z para terminar
copy con "%~1"
:fin


Código:

@echo off
:inicio
if "%1"=="" goto fin
if exist %1nul goto copiar
goto siguiente
:copiar
copy %* %2
:siguiente
shift
goto inicio
:fin