loops - 一行中的for循环输出
问题描述
如何编写批处理脚本,使用这样的 for 循环:
@echo off
for /l %%a in (1,1,100) do (
echo %%a
)
并在一行中获取输出,而不是:
1
2
3
4
5
..
..
解决方案
对于您显示的用例,<nul set /p =%%a
如果您的实际用例涉及可能包含前导空格或=
字符的字符串,则可以使用操作提示字符串的替代方法:
@echo off
Del "%TEMP%\output.~tmp" 2> nul
(Set \n=^^^
%= \n newline var. Do not modify =%)
Setlocal EnableExtensions DisableDelayedExpansion
:# EWN Echo without newline macro
:# Based on: https://www.dostips.com/forum/viewtopic.php?t=4213#p64718
Set EWN=For %%n in (1 2)Do If %%n==2 (%\n%
cmd /d /k ^< nul ^>^>"%TEMP%\output.~tmp"%\n%
Set "prompt="%\n%
) Else Set prompt=
:# Examples:
:# %EWN% Leading space
:# %EWN%= Leading equals
:# %EWN%= Escape requirements: ^& ^> ^< ^| %% ^^^ unbalanced dq: ^"
Cls
For /l %%i in (1 1 100)Do %EWN%%%i
Type "%TEMP%\output.~tmp"
Echo(
Pause
Endlocal
其他方法也可以在dostips中找到
推荐阅读
- php - 如何使用 REST API 和 PHP 向页面添加附件?
- excel - Excel:其他范围的条件格式
- angular - 角度中没有将“exportAs”设置为“ngForm”的指令
- vb.net - 如何解决错误:“列名或提供的值的数量与表定义不匹配”?
- kubernetes - AKS cilium 单节点集群不接受连接
- javascript - RangeError:超过最大调用大小,创建条带会话
- php - 拉拉维尔。如果数据库正在播种,则禁用观察者方法
- javascript - 在 JQuery 中从 JSON 中过滤子字符串
- excel - waitForResponse 方法不适用于 XMLHTTP
- reactjs - 如何在不同的反应应用程序之间共享节点模块文件夹