使用带有for循环的Set / p命令

时间:2017-09-30 02:28:41

标签: batch-file for-loop cmd

我正在处理一个简单的批处理文件,以保存每个JPG的文本文件。用户使用set / p输入txt文件的内容。出于某种原因,当我使用带有for循环的set / p时,txt文件没有显示用户输入的值(它只显示:" ECHO打开")。任何帮助都将受到高度赞赏!感谢。

for %%Q in (*v.JPG) do (
set /p meas= "enter value "
echo %meas%>"%%~nQ.txt"
)
pause

2 个答案:

答案 0 :(得分:0)

Magoo是对的,谢谢!我不得不使用启用延迟扩展,然后将变量称为!变量!而不是%变量%。遗憾的是,微软网站上没有关于这个问题的文档,至少没有关于“集合”的文档。命令网页。

答案 1 :(得分:-1)

for %%Q in (v*.jpg) do ( set /p meas="enter value " && echo !meas! > %%~nQ.txt)

我只在一个cmd提示符下对此进行了测试,但也应该在批处理中进行测试。

这将创建一个名为<filename>.jpg.txt的新文件,并包含用户输入的值。

关键是添加&amp;&amp;在set /pecho之间。