Ms-Dos - ¿Como saber la longitud de la primer linea de un archivo txt?

   
Vista:

¿Como saber la longitud de la primer linea de un archivo txt?

Publicado por Gaby (1 intervención) el 18/08/2011 23:42:01
Hola Buenas tardes,

Alguien sabe cómo puedo obtener, por medio de un archivo .bat, la longitud de la primer línea de un archivo .txt??
Necesito saber esto para poner una condición, si la longitud de la primer línea cumple con mi condición que el archivo se quede en la carpeta dónde lo estoy leyendo, pero, en caso contrario, que lo mueva de carpeta (todo el archivo).

Agradecería mucho su ayuda

Saludos

Gaby
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Ms-Dos
- Cursos de Ms-Dos
- Temas de Ms-Dos
información
Cursos y Temas de Ms-Dos
- Curso de MS-DOS
- DOS the Easy Way Guide to MS-DOS
- Manual de MS-DOS
Imágen de perfil de Antoni Masana

¿Como saber la longitud de la primer linea de un archivo txt?

Publicado por Antoni Masana (269 intervenciones) el 22/08/2011 11:46:57
El MS-DOS no posee ninguna herramienta para contar los caracteres de una linea de texto.

Se me ocurre una solucion mala porque si hay espacios no funciona bien

Crea un BAT que se llame cuenta.bat y copia este texto. Veras que cuenta los caracteres de la primera linea pero solo hasta el espacio y no se porque.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
@echo on
set Reg=0
set Num=0
 
FOR /F " delims=; " %%a in (cuenta.bat) do call :Paso_1 %%a
 
echo.
echo Longitud del texto "%text%" es de %Num%
echo.
GOTO:EOF
 
:Paso_1
   IF "%Reg%" == "0" call :Paso_2 %1
   SET Reg=1
   GOTO:EOF
 
:Paso_2
   SET text=%1
 
   SET ch=%text:~1,1%
   IF not "%ch%" == "" set Num=1
   SET ch=%text:~2,1%
   IF not "%ch%" == "" set Num=2
   SET ch=%text:~3,1%
   SET ch=%text:~3,1%
   IF not "%ch%" == "" set Num=3
   SET ch=%text:~4,1%
   IF not "%ch%" == "" set Num=4
   SET ch=%text:~5,1%
   IF not "%ch%" == "" set Num=5
   SET ch=%text:~6,1%
   IF not "%ch%" == "" set Num=6
   SET ch=%text:~7,1%
   IF not "%ch%" == "" set Num=7
   SET ch=%text:~8,1%
   IF not "%ch%" == "" set Num=8
   SET ch=%text:~9,1%
   IF not "%ch%" == "" set Num=9
   SET ch=%text:~10,1%
   IF not "%ch%" == "" set Num=10
   SET ch=%text:~11,1%
   IF not "%ch%" == "" set Num=11
   SET ch=%text:~12,1%
   IF not "%ch%" == "" set Num=12
   SET ch=%text:~13,1%
   IF not "%ch%" == "" set Num=13
   SET ch=%text:~14,1%
   IF not "%ch%" == "" set Num=14
   GOTO:EOF


Otra solucion seria untilizar un programa que se llama MAWK.COM o .EXE y que funciona igual que el equivalente en UNIX.

Otra opcion es hacer un programa que te devuelva un valor o una marca en funcion de la longitud.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar