Ayuda. Cortar una frase en palabras.

Iniciado por DekerMD, 26 Febrero 2018, 14:24 PM

0 Miembros y 1 Visitante están viendo este tema.

DekerMD

Hola, antes que nada. :D

estoy haciendo unos AUDIOS especiales para mí. ice un .bat con esta información dentro. Como podrás notar yo no soy un experto en esto de los Códigos, en fin, Espero me puedas ayudar.

Código (dos) [Seleccionar]
@echo off
del /Q Adios\

echo Espanol
set /p A=:

copy /Y 01.mp3 Adios\1.mp3 > nul
copy /Y "%A%.mp3" Adios\2.mp3

echo Ingles
set /p A1=:
Copy /y 01.mp3 Adios\3.mp3 > nul
Copy /y "%A1%.mp3" Adios\4.mp3
Copy /y 01.mp3 Adios\A.mp3 > nul
Copy /y "%A1%.mp3" Adios\B.mp3 > nul
Copy /y 01.mp3 Adios\C.mp3 > nul

echo 1 palabra
set /p A2=:
Copy /y 01.mp3 Adios\5.mp3 > nul
Copy /y "%A2%.mp3" Adios\6.mp3

goto Inicio

:a

color b2
echo Las demas palabras
set /a P=5
set /a T=%P% + 2
set /a T=%W% > nul

set /a B=6
set /a F=%B% + 2
set /a F=%H% > nul

:Inicio

set /p A3=:

IF "%A3%.mp3"=="FIN123.mp3" goto Fin

Copy /y 02.mp3 Adios\%T%.mp3 > nul

Copy /y "%A3%.mp3" Adios\%F%.mp3

set /a H=%F% + 2
set /a W=%T% + 2

goto a

:Fin
Pause > nul

Del "%A%.mp3"
Del "%A1%.mp3"


Yo lo que hago Actualmente es.

Escribo la Frase o la Oración En español y después en Ingles y después las palabras de la misma

Ejemplo:
Lo siento. Adiós
I am sorry. Goodbye
I
am
sorry
goodbye
FIN123
Lo que yo Busco es Que cuando escriba la Frase o oración en ingles está en Automático se parta o se divida en palabras. de antemano GRACIAS y espero me puedan ayudar con ello.

Eleкtro

#1
No me ha quedado muy claro si por "partir" te refieres a partir una cadena de texto y asignar los elementos partidos a una variable (un Array), o simplemente mostrar la cadena de texto de forma partida, tal que así:

Código (dos) [Seleccionar]
@Echo Off

Set "string=I am sorry. Goodbye"
FOR %%# IN (%string%) DO (
Echo:%%#
)

Pause
Exit /B 0


De todas formas has elegido el peor "lenguaje" posible ya que Batch no tiene soporte nativo para la declaración de Arrays, por ende no puedes partir una cadena de texto y almacenar todos los tokens/partes en una variable, suponiendo que eso sea a lo que te referías. Lo único que puedes lograr en Batch es una mala e imperfecta simulación de Array: construir una cadena de texto delimitada por comas, espacios, o punto y coma, e iterar las partes delimitadas mediante un búcle FOR (como en el ejemplo que he mostrado), pero no te merece la pena hacer las cosas así de mal y suciamente hechas, es preferible recurrir a cualquier otro lenguaje de verdad que soporte el uso de Arrays.

Saludos!








DekerMD

Ho, yo estaba tan emocionado por haber creado ese .bat con solo haber leído el CMD help, y con tus palabras me sentí un cavernícola creado su primera rueda de piedra XD

En fin, sé que hoy en día hay muchos leguajes en programación, pero para lo que lo voy a usar creo que es suficiente. 

Ya usé el código que me hiciste y ya lo adapté al mío y quedo de Maravilla Muchas Gracias.

Era lo que andaba buscando. SALUDOS y nuevamente Gracias.  ;-)

Eleкtro

#3
Cita de: DekerMD en 26 Febrero 2018, 15:59 PMyo estaba tan emocionado por haber creado ese .bat con solo haber leído el CMD help

Sigue siendo un logro emocionante y respetable, como aprender a montar en triciclo para niños pequeños... pero luego acabar descubriendo que existen las bicicletas de montaña y que todo son ventajas (o eso creo xD).

Cita de: DekerMD en 26 Febrero 2018, 15:59 PMy con tus palabras me sentí un cavernícola creado su primera rueda de piedra XD

Entiendo que tu comentario es de broma, y perdón por insistir ahora con esto que te voy a decir, pero no se si lo que percibo en tu comentario es desinterés, o inocencia e incredulidad, y es que en realidad tarde o temprano Batch te va a acabar limitando de forma abrupta, vas a tener que recurrir a otro lenguaje si deseas llevar a cabo lo que quieras hacer, y ese tiempo invertido aprendiendo cosas (inútiles) en Batch ya no lo podrás recuperar (por que créeme, no lo querrás volver a utilizar nunca más en cuanto te acostumbres a utilizar un lenguaje de verdad... más que para cosas/scripts muy puntuales).

Si programas de forma esporádica sin interés por la programación y solo tienes la necesidad de llevar a cabo operaciones dentro del margen de lo que cubren los comandos internos (y los mal llamados comandos externos) de Batch, u operaciones relacionadas con el sistema de archivos (copiar, mover, listar, eliminar, etc) pues en ese caso creo que no pasa nada por usar Batch, se hace relativamente facil con los comandos que provee, pero para todo lo demás (sobre todo el análisis y manipulación de texto, operaciones muy demandadas en Batch) se vuelve extremadamente tedioso en comparación con "cualquier" otro lenguaje, dicho de otra forma: es anti-productivo.

No me tomes por pesado, ya dejo el tema, es solo que me gusta advertir a los personas que se inician con Batch como su primer lenguaje de programación (aunque Batch solo es procesamiento por lotes), por que yo empecé de esa misma forma, lo dominé y estuve 3-5 años y nadie tuvo el detalle de advertirme o aconsejarme, y pensaba cosas como: "Batch es facil de usar, me sirve para lo que quiero hacer y no necesito más"... pero si vas a programar en serio entonces pensar así es engañarse a uno mismo.

PD: me alegro de que hayas solucionado el problema.

Saludos!