回答
在这里你去:
@echo off
FOR /L %%G IN (1, 1, 100) DO (
echo %%G line%%G
)
这将可能只在一个批处理文件工作,而不是在命令行上。
For more info,see this page。
如果要循环使用现有文件并向其中添加数字,则必须改为使用for /F loop来处理该文件,并且在每次循环中使用set /a counter+=1
等语句来增加计数器。然后将每一行吐出一个新文件,最后用新文件替换旧文件。
我能得到的最接近的是这样的,它不工作:
@echo off
set file=%1
set x=1
for /f "delims=|" %%i in (%file%) do (
echo %x% %%i
set /a x=%x%+1
)
的set
的for
循环中不能正常工作(因为我们是在蹩脚的DOS)。
用call
替换set
到另一个批处理文件来执行增量和设置x
也不起作用。
附录
好,加入由@indiv建议的修复,我们得到这个(这似乎工作):
@echo off
set file=%1
set x=1
setlocal EnableDelayedExpansion
for /f "delims=|" %%i in (%file%) do (
echo !x! %%i
set /a x=!x!+1
)
请参阅'help set'(接近尾部)了解如何使'set'在'for'循环内工作。您需要将'setlocal EnableDelayedExpansion'添加到您的脚本中,然后为运行时需要扩展的变量而不是解析时使用'!'而不是'%'环绕它们。另外,你不在DOS中。你在Windows命令行中。 – indiv 2011-05-12 20:54:09
@indiv:Windows = DOS ++ ;-) – 2011-05-12 21:05:04
Windows不是DOS。 – 2011-05-13 07:56:35
- 1. 批处理或VB脚本添加3行文本到文件
- 2. 如何在Windows批处理文件中嵌入文本文件
- 3. 使用批处理文件将列添加到csv文件中
- 4. 将新文件添加到文件夹时执行批处理文件
- 5. 如何从Windows批处理文件编辑文本文件?
- 6. 如何在批处理文件中输出文本文件的行(Windows)
- 7. 从批处理文本文件中查找并添加行
- 8. 批处理文件重命名文件并添加序列号到文件名
- 9. 如何使用批处理文件将文本附加到文件名?
- 10. 如何用引号将代码添加到使用批处理的文件中?
- 11. 在Windows批处理中打印文本文件的特定行
- 12. 如何将linux批处理文件转换为Windows bat文件?
- 13. 使用批处理脚本逐行解析文本文件(批处理文件)
- 14. 批处理文件: - 检测Windows版本和运行exe文件
- 15. 从批处理文件中的文本文件中过滤行
- 16. 如何将变量添加到批处理文件?
- 17. 如何从批处理文件中调用批处理文件?
- 18. 如何从文本文件传递参数到Windows XP批处理文件?
- 19. 将批处理脚本添加到Windows 8上下文菜单
- 20. 批处理文件将文本文件复制到FTP站点
- 21. 如何在shell脚本中运行windows批处理文件?
- 22. 将日期追加到Windows批处理文件中的文件名
- 23. 批处理文件在Windows中运行其他批处理文件
- 24. 批处理文件回声行包含%到文本文件
- 25. 寻找批处理文件插入新行到文本文件
- 26. Windows批处理文件 - 如何遍历目录中的文件?
- 27. 如何使用批处理文件在特定行中添加文本
- 28. 将批处理文件包含在批处理文件中
- 29. 如何在Windows批处理文件中将双引号行分成多行?
- 30. 批处理脚本:将数据追加到文本文件中只有一行
我可能是错的,但我猜他想要将数字添加到现有文件。 – 2011-05-12 17:46:33
对不起,我的意思是外部文件 – James 2011-05-12 17:48:29
@Mark Wilkins是的,这是正确的 – James 2011-05-12 17:49:00