作者:qiaoyan1984_868 | 来源:互联网 | 2023-09-13 13:20
1.如何实现echo文本到文件中不换行方法是,不用echo命令,而是用如下命令。例如,打印helloworld到dest.txt中。分两次打印,每次一个单词。dest
1. 如何实现echo文本到文件中不换行
方法是,不用echo命令,而是用如下命令。
例如,打印hello world到dest.txt中。分两次打印,每次一个单词。
>dest.txt set/p=hello
>>dest.txt set/p= world
2. 文本文件所有行合并成一行,用#分隔。
@echo off
del dest.txt
for /f "delims=" %%i in (src.txt) do >>dest.txt set/p=%%i#
注意,如果是在批处理文件中使用此代码,需要将 %i 换成 %%i
3. 字符替换
a)批处理实现
如下批处理代码,可以实现将src.txt中的.c替换为.o,另存到dst.txt中。
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (src.txt) do (
set var=%%i
set "var=!var:.c=.o!"
echo !var!>>dst.txt
)
b) 使用sed完成。
sed "s/\.c/\.d/g" src.txt > dst.txt
windows下的sed工具从下面的软件包中将sed.exe拷出来即是。另外,还有grep、awk,都可以拷出来用。
https://sourceforge.net/projects/win-bash/files/shell-complete/latest/
4. 生成makefile依赖规则
/* 先生成c文件列表,去掉.c */
@echo off
dir src /B > c:\src1.txt
tools\sed "s/\.c//g" c:\src1.txt > c:\src.txt
/* 生成makefile规则 */
echo #gen_rules > c:\dest.txt
for /f "delims= " %%i in (c:\src.txt) do (
echo %%i
echo #rule begin >>c:\dest.txt
>>c:\dest.txt set/p=${OBJ_DIR}\>>c:\dest.txt set/p=%%i>>c:\dest.txt set/p=.o : %%iecho .c>>c:\dest.txt
type tools\aaa.txt >>c:\dest.txt
)
echo c:\dest.txt