【问题标题】:Loop through files batch file循环遍历文件批处理文件
【发布时间】:2014-02-12 17:38:21
【问题描述】:

需要这个来列出所有没有路径信息的文件名。回声出来时什么都没有。有任何想法吗?请参阅下面的代码。

For %%A in ("C:\temp\*.dmo") do (
set name=%%~nxA
echo %name%
)
Pause

【问题讨论】:

    标签: file loops batch-file for-loop echo


    【解决方案1】:

    你想setlocal enabledelayedexpansion。否则该变量只计算一次。

    【讨论】:

      【解决方案2】:

      如果您在循环内设置变量,则必须使用 enabledelayedexpansion 来访问它。

      setlocal enabledelayedexpansion
      For %%A in ("C:\temp\*.dmo") do (
         set name=%%~nxA
      echo !name!
      )
      Pause
      

      或者只是:

      For %%A in ("C:\temp\*.dmo") do (
        echo %%~nxa
      )
      Pause
      

      【讨论】:

        【解决方案3】:
        For %%A in ("C:\temp\*.dmo") do (
            set name=%%~nxA
            call echo %%name%%
        )
        Pause
        

        叹息。去图吧。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多