/f delims 的批处理文件
batch file for /f delims
我收到了这个脚本,但这给了我一个不应该的值
FOR /F "delims=" %%i IN ('fastboot oem get_unlock_data 2^>^&1') DO if ("!out!"=="") (set out=%%i) else (set out=!out!%lf%%%i)
set unlockkey=%out:~18,31%%out:~63,31%%out:~108,31%%out:~153,31%%out:~198,7%
ECHO %unlockkey%
pause
命令本身给我这样的结果:
(bootloader) 3A95030005785963#5A583142323239
(bootloader) 46393400585431303231000000#CEA2
(bootloader) 1CAEF1B646B1C65B3B6B9492C88CFAB
(bootloader) 304FF#8B734A0312000000000000000
(bootloader) 0000000
OKAY [ 0.296s]
finished. total time: 0.291s
批处理应该给我这样的结果:
0A40040192024205#4C4D355631323030373731363031303332323239#BD008A672BA4746C2CE02328A2AC0C39F951A3E5#1F532800020000000000000000000000
但我得到了这个结果:
al time: 0.291s
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "unlockkey="
FOR /F "tokens=1,2" %%a IN ('fastboot oem get_unlock_data 2^>^&1') DO if "%%a"=="(bootloader)" set "unlockkey=!unlockkey!%%b"
ECHO %unlockkey%
GOTO :EOF
这应该会产生您想要的结果。
很难知道 - 因为您显示的结果显然与提供的数据无关。您的示例数据中没有 0A40
。
您的代码中未设置变量 lf
。它可能应该是一个换行符,但没有明显的理由插入它。
重要的是提供足够的代码以便能够重现问题。 setlocal
很重要,但从您发布的代码中省略了。
我收到了这个脚本,但这给了我一个不应该的值
FOR /F "delims=" %%i IN ('fastboot oem get_unlock_data 2^>^&1') DO if ("!out!"=="") (set out=%%i) else (set out=!out!%lf%%%i)
set unlockkey=%out:~18,31%%out:~63,31%%out:~108,31%%out:~153,31%%out:~198,7%
ECHO %unlockkey%
pause
命令本身给我这样的结果:
(bootloader) 3A95030005785963#5A583142323239
(bootloader) 46393400585431303231000000#CEA2
(bootloader) 1CAEF1B646B1C65B3B6B9492C88CFAB
(bootloader) 304FF#8B734A0312000000000000000
(bootloader) 0000000
OKAY [ 0.296s]
finished. total time: 0.291s
批处理应该给我这样的结果:
0A40040192024205#4C4D355631323030373731363031303332323239#BD008A672BA4746C2CE02328A2AC0C39F951A3E5#1F532800020000000000000000000000
但我得到了这个结果:
al time: 0.291s
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "unlockkey="
FOR /F "tokens=1,2" %%a IN ('fastboot oem get_unlock_data 2^>^&1') DO if "%%a"=="(bootloader)" set "unlockkey=!unlockkey!%%b"
ECHO %unlockkey%
GOTO :EOF
这应该会产生您想要的结果。
很难知道 - 因为您显示的结果显然与提供的数据无关。您的示例数据中没有 0A40
。
您的代码中未设置变量 lf
。它可能应该是一个换行符,但没有明显的理由插入它。
重要的是提供足够的代码以便能够重现问题。 setlocal
很重要,但从您发布的代码中省略了。