bat脚本处理txt文档,要求:1.文档开头新增内容;2.逐行读取文档,替换相关字符
时间: 2023-08-24 07:06:24 浏览: 52
您可以使用以下代码处理txt文档,实现要求1和要求2:
```
@echo off
setlocal enabledelayedexpansion
set file="example.txt"
set temp="temp.txt"
set search="old text"
set replace="new text"
echo This is the new content.>%temp%
type %file%>>%temp%
(for /f "tokens=*" %%a in (%temp%) do (
set line=%%a
set line=!line:%search%=%replace%!
echo !line!
)) > %file%
del %temp%
```
在这个示例中,我们首先将新内容写入临时文件`temp.txt`,然后将原始文件`example.txt`的内容追加到`temp.txt`中,这样就实现了要求1。接着,我们使用`for /f`命令逐行读取`temp.txt`中的内容,并使用`set`命令将每一行中的`search`字符串替换为`replace`字符串,最后将处理后的内容写回到原始文件中,这样就实现了要求2。最后,我们使用`del`命令删除临时文件`temp.txt`。
相关问题
bat脚本处理txt文档,要求:1.文档开头新增内容;2.逐行读取文档,替换相关字符;3.将文档拖入bat程序图标,生成修改后的文档
您可以使用以下代码处理txt文档,实现要求1、要求2和要求3:
```
@echo off
setlocal enabledelayedexpansion
set search="old text"
set replace="new text"
echo This is the new content.>%~dp1temp.txt
type %1>>%~dp1temp.txt
(for /f "tokens=*" %%a in (%~dp1temp.txt) do (
set line=%%a
set line=!line:%search%=%replace%!
echo !line!
)) > %~dp1%~n1_modified.txt
del %~dp1temp.txt
echo Done!
pause
```
在这个示例中,我们首先将新内容写入临时文件`temp.txt`,然后将拖入的文档的内容追加到`temp.txt`中,这样就实现了要求1。接着,我们使用`for /f`命令逐行读取`temp.txt`中的内容,并使用`set`命令将每一行中的`search`字符串替换为`replace`字符串,最后将处理后的内容写回到同一目录下的以`_modified`结尾的文件中,这样就实现了要求2和要求3。最后,我们使用`del`命令删除临时文件`temp.txt`,并输出完成的提示信息。注意,在拖入文档时,需要将该脚本文件拖入到cmd窗口中,然后将文档拖入脚本文件的图标上。
bat脚本修改txt文档,要求:将txt文档拖入CMD窗口,自动生成修改后的txt文档
您可以使用以下代码实现将txt文档拖入CMD窗口,自动生成修改后的txt文档:
```
@echo off
setlocal enabledelayedexpansion
set search="old text"
set replace="new text"
set file=%1
set name=%~n1
set ext=%~x1
echo Processing %file%...
(for /f "tokens=*" %%a in (%file%) do (
set line=%%a
set line=!line:%search%=%replace%!
echo !line!
)) > %name%_modified%ext%
echo Done!
pause
```
在这个示例中,我们使用`set`命令获取拖入的文档的文件名、文件名(不含扩展名)和扩展名。然后,我们使用`for /f`命令逐行读取文档的内容,并使用`set`命令将每一行中的`search`字符串替换为`replace`字符串,最后将处理后的内容写入同一目录下的以`_modified`结尾的文件中。注意,在拖入文档时,需要将该脚本文件拖入到cmd窗口中,然后将文档拖入cmd窗口中。