批处理脚本:选择具有多个点的文件名

时间:2014-03-04 07:32:44

标签: batch-file

我有一个编译器输出,它是一个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
    )
)

未选择该文件且不打印任何内容..

1 个答案:

答案 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
    )
)