Пробелы внутри переменной IN оператора цикла FOR в BATCH - PullRequest
0 голосов
/ 28 октября 2018

Я хочу получить и использовать элементы (токены) данного файла .txt, чтобы сделать что-то на его основе:

set txtsource=D:\some path with spaces\source.txt
set picsdir=D:\other path with spaces

for /f "tokens=1,2 delims=/" %%i in (%txtsource%) do (echo "%picsdir%\%%i" "%picsdir%\%%j")

Проблема: это дает «Системе не удается найти файл D: \»some. "

2-я попытка:

set txtsource=D:\some path with spaces\source.txt
set picsdir=D:\other path with spaces

for /f "tokens=1,2 delims=/" %%i in ("%txtsource%") do (echo "%picsdir%\%%i" "%picsdir%\%%j")

Проблема: это не позволяет правильно открыть / прочитать файл txtsource и, в свою очередь, отображает пути, а не то, что находится внутри source.txt.

3-я попытка:

set txtsource=D:\some path with spaces\source.txt
set picsdir=D:\other path with spaces

for /f "tokens=1,2 delims=/" %%i in ('%txtsource%') do (echo "%picsdir%\%%i" "%picsdir%\%%j")

Проблема: здесь написано "D: \ some" не распознано (...) ".

Любая идея, каксделать эту работу?

1 Ответ

0 голосов
/ 28 октября 2018

Это все о цитировании!

@Echo Off
Set "txtsource=D:\some path with spaces\source.txt"
Set "picsdir=D:\other path with spaces"

For /F "UseBackQ Tokens=1-2 Delims=/" %%A In ("%txtsource%"
) Do Echo "%picsdir%\%%A" "%picsdir%\%%B"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...