加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如何在批处理脚本中使用通配符和需要特定文件名的CLI

发布时间:2020-12-14 03:52:30 所属栏目:Windows 来源:网络整理
导读:我有一个不喜欢使用通配符的cli应用程序.在此示例中使用* .dat.我只是得到一个错误,文件* .dat无效. 我有一个包含数千个文件的文件夹,需要由此工具处理.所以手动完成它是不行的.我遇到了很多应用程序,我遇到了这个问题,但这次它非常重要.如何处理这些应用程
我有一个不喜欢使用通配符的cli应用程序.在此示例中使用* .dat.我只是得到一个错误,文件* .dat无效.

我有一个包含数千个文件的文件夹,需要由此工具处理.所以手动完成它是不行的.我遇到了很多应用程序,我遇到了这个问题,但这次它非常重要.如何处理这些应用程序的一般解决方案将是非常好的.

我可以制作所有* .dat文件的文件列表并将其提供给应用程序吗?
我没有必要使用批处理脚本,但它似乎是目前为止最简单的解决方案.

解决方法

你可以使用for循环:

for %%x in (*.dat) do mycommand "%%x"

这将为每个文件启动一次命令.如果你想要聚合它们,你需要做更多的工作:

setlocal enabledelayedexpansion
set Count=0
set List=
for %%x in (*.dat) do (
  set List=!List! "%%x"
  set /a Count+=1
  if !Count! GEQ 50 (
    mycommand !List!
    set List=
    set Count=0
  )
)

这将一次传递50个文件到命令.如果需要,您可以调整该数字.问题是如果文件夹中有数千个文件,那么您不能简单地将它们全部列在一个命令行中(因为存在最大命令行长度限制),因此您必须以块的形式处理它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读