我有一个编译器输出,它是一个hex文件,我将比较某个文本的第一行,如果不存在则添加它。但是hex文件输出格式为something.another.again.hex
。如何从文件夹中选择此hex文件。我正在从同一个文件夹运行批处理文件。
这是我的代码,有人可以纠正吗?
@echo on
for %%i In (*.*.*.hex) Do (
echo %%i
set /p var= <%%i
if NOT %var% == sometext (
echo sometext >temp.hex
type %%i >> temp.hex
del %%i
ren temp.hex %%i
)
)
未选择该文件且不打印任何内容..
答案 0 :(得分:2)
您需要延迟展开才能在块内使用变量(在(
和)
之间:
@echo on
setlocal enabledelayedexpansion
for %%i In (*.*.*.hex) Do (
echo %%i
set /p var= <%%i
if NOT !var! == sometext (
echo sometext >temp.hex
type %%i >> temp.hex
del %%i
ren temp.hex %%i
)
)