Ms-Dos - variable = leer txt pero sin espacios en blanco

   
Vista:

variable = leer txt pero sin espacios en blanco

Publicado por nicolas (9 intervenciones) el 17/01/2016 20:52:13
Buenas noches,

estoy leyendo un archivo txt (c_date.txt) que contiene un digito como este: 20151022_143130 (siempre de 15 caracteres contando el guion bajo). A veces despues del digito tengo espacios en blanco o incluso saltos de linea, pero necesito que la variable solamente almacene los 15 digitos, ya que luego utilizo la variable para buscar ficheros con ese nombre.

Con este codigo me almacena en la variable c_date todo el contenido del archivo c_date.txt

1
2
3
4
5
6
7
set c_date
IF EXIST c_date.txt (
	<"c_date.txt" set /p "c_date="
	set "c_date:=">>log.txt
) ELSE (
	goto error1
)

Qué podría hacer? Podría leer directamente los 15 dígitos y asignarlo a la variable ya "limpio"? O tendría que crear otra varible para sacar los espacios en blanco?

Gracias!!!
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
- Interprete de comandos de Windows
- Tutorial de comandos para MS-DOS
- Tutorial de MS-DOS
Imágen de perfil de Antoni Masana

variable = leer txt pero sin espacios en blanco

Publicado por Antoni Masana (269 intervenciones) el 18/01/2016 11:51:29
Esto toma los quince primeros caracteres de la primera linea de datos e ignora los espacios y las lineas en blanco

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@ECHO OFF
SET c_date=
IF NOT EXIST c_date.txt  GOTO error1
FOR /F %%a IN (c_date.txt) DO call :Asignar %%a
ECHO.Valor: - %c_date% -
GOTO :EOF
 
:Asignar
   IF NOT (%c_date%) == () GOTO :EOF
   SET c_date=%1
   SET c_date=%c_date:~0,15%
   GOTO :EOF
 
:Error1
   ...

De este ejemplo solo toma la parte que te interesa.

NOTA IMPORTANTE: Los puntos representan espacios representado así para hacerlo visible

1
2
3
4
5
6
·······
················
····20151231_145628···jujutjgjkg
····kjgkdgj
···
··

Resultado de la ejecución del BAT

1
Valor: - 20151231_145628 -

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

variable = leer txt pero sin espacios en blanco

Publicado por nicolas (9 intervenciones) el 22/01/2016 10:25:40
uau! creo que perfecto además parece que me servirá para validar si hay datos en el fichero... voy a probar!!!
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