繁体   English   中英

BATCH中FOR循环的变量IN语句内部的空间

[英]Spaces inside variable IN statement of a FOR loop in BATCH

我想检索和使用给定.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。”

第二次尝试:

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中的内容。

第三次尝试:

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'(...)”。

任何想法如何使这项工作?

全部都是关于报价!

@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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM