
我需要创build一个写文本文件(可能包括variables)的batch file。 在使用bash的Unix中,这是微不足道的:
#!/bin/bash ver="1.2.3" cat > file.txt <<Eol line 1,${ver} line 2 line 3 ... Eol
用batch file做这件事最简单的方法是什么?
注意:有一个完整的解决scheme,在windows批处理的heredoc中使用“heredoc”例程? 但是对于临时使用来说似乎太复杂了。 我正在寻找一个快速简单的方法。
如何使用windows批量增加文件夹名称?
头痛 – 从Java运行一个batch file
windowsbatch file – 在variables上查找,查找包含百分号和单引号的string
通过命令行在目录中的每个文件中运行python脚本
如何使用cmd / batch获取windows可执行文件的“原始文件名”详细信息字段
从批处理中删除多个进程
batch file的循环
在batch file中查找/replace文本时如何处理&符号?
手动删除和删除脚本之间的区别? (蝙蝠或vbs)
运行一个.bat文件的PHP脚本
如果只有一个数据块(文本),下面的工作正常,
@ECHO OFF set string=beautyful REM get linenumber for Data: for /f "tokens=1 delims=:" %%a in ('findstr /n /b "REM StartData" "%~f0"') do set ln=%%a REM print Data (use call to parse the line and evaluate variables): (for /f "usebackq skip=%ln% delims=" %%a in ("%~f0") do call echo %%a)>"new.txt" type "new.txt" goto :eof REM StartData hello %string% world line 2 line 3
如果数据中没有变量,请忽略该call 。 优点:不需要逃脱任何东西。 即使通常有毒的字符工作(而不是for循环,你也可以使用more +%ln% "%~f0" )。 可悲的是,当你使用call来分析变量的行时,你放弃了这个优点。
我发现最简单和最不混乱的方式如下:
set ver=1.2.3 ( echo ^ line 1,%ver%^ line 2^ line 3^ ... ) > file.txt
运行我得到的脚本:
C:> type file.txt line 1,1.2.3 line 2 line 3 ...
基本上,每条线都必须加上一个脱字符(^)和一个空行。
总结以上是内存溢出为你收集整理的如何在Windowsbatch file中embedded文本文件全部内容,希望文章能够帮你解决如何在Windowsbatch file中embedded文本文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)