标题: [文本处理] [已解决]批处理怎样在文本每一行开头插入一条语句? [打印本页]
作者: Hello123World 时间: 2011-2-1 18:17 标题: [已解决]批处理怎样在文本每一行开头插入一条语句?
假设文本是- helo
- ello
- echo hello
- good
复制代码
每一行要插入的语句是 >>c:\hello.bat echo
echo后要有一个空格
[ 本帖最后由 Hello123World 于 2011-2-2 21:52 编辑 ]
作者: hanyeguxing 时间: 2011-2-1 19:04
1,输出批处理内的字符到文件,变量不被扩展:- @echo off
- >c:\hello.bat more 3+<"%~f0"
- exit
- helo1>2
- ello%n%
- echo hello!n!
- good
复制代码
2,输出批处理内的字符到文件,包含被扩展的变量值(只有!n!被扩展):- @echo off&setlocal enableDelayedExpansion
- set n=123
- (for /f "delims=" %%a in ('more +4^<"%~f0"') do echo;%%a)>c:\hello.bat
- exit
- helo1^>2
- ello%n%
- echo hello!n!
- good
复制代码
3,输出批处理内的字符到文件,包含被扩展的变量值(!n!和%n%都被扩展):- @echo off&setlocal enableDelayedExpansion
- set n=123
- (echo;helo1^>2
- echo;ello%n%
- echo;echo hello!n!
- echo;good)>c:\hello.bat
复制代码
[ 本帖最后由 hanyeguxing 于 2011-2-1 19:25 编辑 ]
作者: Hello123World 时间: 2011-2-2 19:51 标题: 回复 2楼 的帖子
可能我没描述清楚,其实我的意思就是操作文本,在文本的每一行最开始插入一些文字,比如插入:“>>c:\hello.bat echo ”这些字符
作者: hanyeguxing 时间: 2011-2-2 20:02 标题: 回复 3楼 的帖子
- @echo off
- (for /f "usebackq delims=" %%a in ("1.txt") do (
- set "a=%%a"
- setlocal enableDelayedExpansion
- echo;^>^>c:\hello.bat echo !a!
- endlocal
- ))>"1_.txt"
复制代码
1.txt中不得包含不能被处理的敏感字符
[ 本帖最后由 hanyeguxing 于 2011-2-2 20:05 编辑 ]
作者: Hello123World 时间: 2011-2-2 21:51 标题: 回复 4楼 的帖子
谢谢,happy new year
作者: Hello123World 时间: 2011-2-3 13:30 标题: 回复 4楼 的帖子
- @echo off
- (for /f "usebackq delims=" %%a in ("1.txt") do (
-
-
- echo ^>^>c:\hello.bat echo %%a
-
- ))>"1_.txt"
复制代码
这里没必要启用变量延迟啊,反正都是逐行执行。
在echo后加上 ; 有什么好处吗?
[ 本帖最后由 Hello123World 于 2011-2-3 13:31 编辑 ]
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |