我希望知道如何使用Windows批处理文件逐行遍历文本文件,并依次处理每一行的文本。
我希望知道如何使用Windows批处理文件逐行遍历文本文件,并依次处理每一行的文本。
在这里修改示例,以在Heroku上列出我们的Rails应用程序 - 谢谢!
cmd /C "heroku list > heroku_apps.txt"
find /v "=" heroku_apps.txt | find /v ".TXT" | findstr /r /v /c:"^$" > heroku_apps_list.txt
for /F "tokens=1" %%i in (heroku_apps_list.txt) do heroku run bundle show rails --app %%i
]
开头,则第一个可以修改delims
,例如用不包含该字符的某个字符或控制字符(如退格或响铃)替换;它们通常不会出现在文本文件中。 delims =]
的原因是为了删除由find
命令的/n
创建的占位符,以保留空行。 - ZimbaThis bang ! disappears
。顺便说一下,您不需要 delim=[
,因为 set a=!a:*]=]!
也会将其删除,并且 echo:!a:~1!
不是必需的,您可以将替换更改为 set a=!a:*]=!
。 - jebcalc.exe
的错误取决于您的 Windows 目录以及您在哪个目录中启动代码(相同的驱动器和目录深度),但可以通过使用 echo(!var!
轻松解决。其他问题不容易解决,因为这是延迟扩展行为。 - jeb
for /f "tokens=1" %%i in ('find /v "=" heroku_apps.txt ^| find /v ".TXT" ^| findstr /r /v /c:"^$"') do...
(请注意添加了^
用于转义管道,以便将其传递给for
而不是直接传递给命令处理器) - user66001