For loop 如何设置循环变量?批处理文件

For loop 如何设置循环变量?批处理文件,for-loop,batch-file,setvalue,For Loop,Batch File,Setvalue,我无法在for循环中设置变量值 @echo off SET PID=CREE6-GGGG8-FFFF6-SSSS9-DDDD5 FOR %%x in (%PID:-= %) do ( echo %%x SET v=(echo %%x| convert_2_scancode.py) echo %v% ) 预期o/p 信条6 12 92 2e 23。。。。。。。。。。(CREE6的转换扫描代码)首先。。。您正在回显变量v的“加载时间”值。要在FOR/IF构造或parens中查看“运行时”值,需要添

我无法在for循环中设置变量值

@echo off
SET PID=CREE6-GGGG8-FFFF6-SSSS9-DDDD5
FOR %%x in (%PID:-= %) do (
echo %%x
SET v=(echo %%x| convert_2_scancode.py)
echo %v%
)
预期o/p 信条6
12 92 2e 23。。。。。。。。。。(CREE6的转换扫描代码)

首先。。。您正在回显变量v的“加载时间”值。要在FOR/IF构造或parens中查看“运行时”值,需要添加此行(程序的第2行)

然后将回音%v%更改为

echo !v!
然后是下一个问题。你想用它做什么

设置v=(echo%%x | convert_2_scancode.py)

因为我没有“convert_2_scancode.py”,所以我写了一个小的“emulator”

我想试试

@echo off
SET PID=CREE6-GGGG8-FFFF6-SSSS9-DDDD5
FOR %%x in (%PID:-= %) do (
echo %%x
for /f Delims=" %%v in ('echo %%x^|convert_2_scancode.py') do set v=%%v
)
echo %v%
到python文件
C:\Users\Stephan\102>type t.bat
@echo off
SET PID=CREE6-GGGG8-FFFF6-SSSS9-DDDD5
set pid=%PID:-= %
for /f "tokens=* delims=" %%x in ('convert_2_scancode.bat %pid%') do set "v=%%x"
echo %v%
------------------
C:\Users\Stephan\102>type convert_2_scancode.bat
@echo converted scancode from %*
------------------
C:\Users\Stephan\102>t
converted scancode from CREE6 GGGG8 FFFF6 SSSS9 DDDD5

C:\Users\Stephan\102>
@echo off
SET PID=CREE6-GGGG8-FFFF6-SSSS9-DDDD5
FOR %%x in (%PID:-= %) do (
echo %%x
for /f Delims=" %%v in ('echo %%x^|convert_2_scancode.py') do set v=%%v
)
echo %v%