首页 > 解决方案 > 如何批量循环数组并移动文件

问题描述

我有以下内容:

@echo off
set Arr[0]=1234
set Arr[1]=2351
set Arr[2]=4321
set Arr[3]=6106

如何在数组中循环?同样在每个循环中,我想查看是否存在包含通配符之类的数组编号的文件。例如,对于 Arr[0],如果有一个包含 1234 的文件,例如 ABC_1234.txt 或 1234_ABC.txt 或 1234.txt,则返回 true,否则返回 false。

我是一个完整的初学者,所以任何帮助表示赞赏。

标签: windowsbatch-filescripting

解决方案


鉴于您提供的示例变量值字符串,我建议采用这种简单的方法。它通过命令解析环境中定义的变量名称Set

@Echo Off
SetLocal EnableExtensions

Rem Ensure that there are no existing Arr[n] variables.
For /F "Delims==" %%G In ('2^> NUL Set Arr[') Do Set "%%G="

Rem Define new Arr[n] variables.
Set "Arr[0]=1234"
Set "Arr[1]=2351"
Set "Arr[2]=4321"
Set "Arr[3]=6106"

Rem Loop through the Arr[n] variables.
For /F "Tokens=1,* Delims==" %%G In ('2^> NUL Set Arr[') Do Echo "%%H"

Pause

我刚刚Echo "%%H"在循环中使用过,你显然会用你的等命令替换它If ExistDir搜索与这些变量值字符串相关的文件。


推荐阅读