Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: CAEL20 en 13 Marzo 2018, 02:16 am



Título: Lectura de un txt, error en rutas con espacio
Publicado por: CAEL20 en 13 Marzo 2018, 02:16 am
Saludos tengo un problema para leer un txt con un .bat, este .bat si me sirvio con rutas que no tienen espacios por ejemplo:
D:\CARPETA1\archivo.txt
pero si meto el .bat y el .txt en otra ruta que tenga espacio, ejemplo:
D:\CARPETA CON ESPACIO\archivo.txt
da un erro y solo pretende abrir la ruta hasta D:\CARPETA de ahi en adelante de ese espacio no poner completa la ruta, alguien me puede ayudar a solucionar esto.

Código
  1. @echo off
  2. set ruta= %~d0%~p0archivo.txt
  3. echo %ruta%
  4.  
  5. for /f "tokens=*" %%x in (%ruta%) do (set psw=%%x)
  6. echo %psw%
  7. pause
  8. exit


Título: Re: Lectura de un txt, error en rutas con espacio
Publicado por: Eleкtro en 13 Marzo 2018, 16:42 pm
Cualquier variable de tipo string y cualquier expresión/argumento con espacios en blanco debes encerrarlo entre comillas dobles para evitar este tipo de fallos. Es una regla básica.

1:
Código:
set "ruta=%~dp0archivo.txt"

2:
Código:
for ... in ("%ruta%") do (...)

saludos.


Título: Re: Lectura de un txt, error en rutas con espacio
Publicado por: CAEL20 en 14 Marzo 2018, 00:11 am
gracias si ya aparece la ruta, teniendo la ruta como podre abrir el archivo de texto?