![](/img/trans.png)
[英]How to execute an external PHP file from a Windows Command Line (bat file)
[英]Looping through string values from a windows command line bat file
我正在尝试为我的Windows机器创建一个批处理脚本,它循环遍历一个(字符串/十进制)值列表,并使用每个值作为循环内的参数。
下面是一个简单的for循环的例子,我想用它来显示所有不同的版本文件(从我的列表中)
FOR ? in ('1.1','1.2','2.4','3.9') do echo V[value_from_for_loop].txt
我在如何遍历每个项目并在echo语句中使用变量时遇到问题。
for %x in (1.1 1.2 2.4 3.9) do echo V%x.txt
要在批处理文件中使用,您必须将%
加倍:
for %%x in (1.1 1.2 2.4 3.9) do echo V%%x.txt
@ЈЈеу的答案很有用,
这是我如何使用它,以特定的顺序“遍历”预先设置的文件列表。
@echo off
for %%x in (
a.js
storage.js
logic.js
main.js
z.js
) do (
echo your file name is %%x
echo "%%x" is a cool name
echo.
echo =-=-=-=-=-=
echo.
)
它看起来像垂直列表的原因是更容易添加或删除更多项目。 (''''的'echo'是一个空行)。
输出将如下所示:
C:\example>yourBatchName.cmd
your file name is a.js
"a.js" is a cool name
=-=-=-=-=-=
your file name is storage.js
"storage.js" is a cool name
=-=-=-=-=-=
your file name is logic.js
"logic.js" is a cool name
=-=-=-=-=-=
your file name is main.js
"main.js" is a cool name
=-=-=-=-=-=
your file name is z.js
"z.js" is a cool name
=-=-=-=-=-=
** ps文件名列表应该更喜欢使用这样的东西:
for %%e in (*.dll) do (....
假设您有一个很长的值列表,在命令行上输入会非常不舒服。 此外,DOS命令行有一个长度限制。
在这种情况下,值可以存储在任意长的文件中,每行一个。 将其my-values.list
为my-values.list
,其内容类似于:
1.1
1.2
2.4
3.9
3.9.1
3.9.2
3.91
3.91.1
...
现在,您可以逐行读取此文本文件中的变量:
for /f "tokens=*" %a in (c:\path\to\my-values.list) do echo. Version%~nxa.txt
它不会让我评论,但我想在这里加上我的2美分。 'do'必须与'for'命令的右括号位于同一行。 换句话说,这将有效:
for %x in (1.1 1.2 2.4 3.9) do echo V%x.txt
......但这不会:
for %x in (1.1 1.2 2.4 3.9)
do echo V%x.txt
我相信这样的事情:
for %x in (1.1 1.2 2.4 3.9) do (
echo V%x.txt
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.