【问题标题】:Looping an array in a batch-file在批处理文件中循环数组
【发布时间】:2017-02-24 19:21:42
【问题描述】:

我已经阅读了很多问题,但似乎没有我需要的解决方案

我正在尝试创建一个字符串列表并使用命令对其进行迭代

例如我有:

set x_array=Hello Goodbye Something Test

for %%s in (%x_array%) do (
   %WINZIP% WORD_%%s.zip -rp -ex %filepath%
)

编辑:我试图能够循环,这样我就可以创建名为 WORD_Hello.zip WORD_Goodbye.zip 等的文件。但是每当我这样做时,数组都会说它是空的。

【问题讨论】:

  • 您的问题是什么,而不仅仅是您的任务。
  • $WINZIP% 语法错误。你期待什么,你会得到什么?在打开的 cmd 窗口中运行批处理,设置 echo on 并插入回显以查看会发生什么。
  • @LotPings 这是一个错字。
  • 你能提供在cmd中产生的输出/错误信息吗?
  • @SamuelDenty 没有错误出现,它只显示 word_%s.zip 而不是元素。

标签: windows batch-file for-loop


【解决方案1】:

do 后面缺少空格,所以

set x_array=Hello Goodbye Something Test
for %%s in (%x_array%) do (
   %WINZIP% WORD_%%s.zip -rp -ex %filepath%
)

或者这里不需要括号:

set x_array=Hello Goodbye Something Test
for %%s in (%x_array%) do %WINZIP% WORD_%%s.zip -rp -ex %filepath%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    相关资源
    最近更新 更多