Lectura de un txt, error en rutas con espacio

Iniciado por CAEL20, 13 Marzo 2018, 02:16 AM

0 Miembros y 2 Visitantes están viendo este tema.

CAEL20

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 (bash) [Seleccionar]
@echo off
set ruta= %~d0%~p0archivo.txt
echo %ruta%

for /f "tokens=*" %%x in (%ruta%) do (set psw=%%x)
echo %psw%
pause
exit

Eleкtro

#1
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:
set "ruta=%~dp0archivo.txt"

2:
for ... in ("%ruta%") do (...)

saludos.








CAEL20

gracias si ya aparece la ruta, teniendo la ruta como podre abrir el archivo de texto?