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!
que no sabes? donde te trancas? que llevas hecho?
no se hacen tareas, se resuelven dudas
¿Que buscas, orientación, o que te hagan los trabajos?.
Elementos necesarios para llevar a cabo el problema nº1:
%1 - %5
Copy CON
EQU
IF
Set /P
Elementos necesarios para llevar a cabo el problema nº2:
CLS
FOR /F
If Exists
Pause
Set
Sort
Type
|
||
Saludos.
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...
@echo off
:inicio
if "%1"=="" goto fin
echo que texto quiere introducir?
copy %n
:fin
Aquí estás comparando
"""" con
"", por lo tanto nunca irá a la etiqueta
fin:
@echo off
:inicio
if "%1"=="" goto fin
Debes expandir la variable de argumento para eliminar las comillas dobles adicionales.
Cita de: priapismico en 25 Enero 2015, 00:32 AMen 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:
@Echo OFF
If "%~1" NEQ "" (Call :CreateText "%~f1")
Pause&Exit /B 0
:CreateText
Echo:Escribe el texto del archivo.
Echo:Presiona CTRL+Z para terminar.
Echo:
Copy CON "%~f1"
Goto:EOF
Saludos
Gracias por la ayuda..
@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..
Cita de: priapismico en 25 Enero 2015, 17:11 PMsolo 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!
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!
@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
@echo off
:inicio
if "%1"=="" goto fin
if exist %1nul goto copiar
goto siguiente
:copiar
copy %* %2
:siguiente
shift
goto inicio
:fin