我有这段代码:
@echo off
for /f "delims=" %%a in ("%~dp0\files\text\lead_r.txt") do set /p key= < lead_r.txt
ECHO %key%
PAUSE
我想要它做的是打开一个特定的文本文件,阅读它,然后将其中的内容写入%key%
。它适用于lead_r.txt
且批处理文件位于同一文件夹中但当我将lead.txt
移至\files\text
时失败。 \files\text
中没有包含空格的文件,因此我不知道问题出在哪里。
由于
答案 0 :(得分:0)
很难理解您的目标,但请尝试下一个代码段:
@echo off >Nul
setlocal EnableDelayedExpansion
for /f "delims=" %%a in ("%~dp0\files\text\lead_r.txt") do (
rem the same file in next line
rem set /p key=< lead_r.txt
set /p key= < %%a
ECHO !key!
PAUSE
)
endlocal
此处EnableDelayedExpansion
!key!
关键字%key%
关键字在执行时而不是在解析时展开变量,如果使用{{1}}语法而不是{{1}}一个。