bat脚本处理txt文档,要求:1.文档开头新增内容;2.逐行读取文档,替换相关字符;3.将文档拖入bat程序图标,生成修改后的文档
时间: 2023-08-24 15:06:24 浏览: 91
您可以使用以下代码处理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文档,要求:1.文档开头新增内容;2.逐行读取文档,替换相关字符
您可以使用以下代码处理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.复制文档versionA.hex,并命名为encrypt_version.hex 2.逐行读取encrypt_version.hex,将其中的A替换成F,B替换成E,C替换成D
在批处理脚本(bat)中操作文本文件可以利用一些简单的命令,例如`copy`、`type`和`for /f`等。以下是完成所述任务的简单步骤:
1. 首先,使用`copy`命令复制`versionA.hex`到新的文件名`encrypt_version.hex`:
```batch
copy versionA.hex encrypt_version.hex
```
2. 接下来,我们打开并逐行编辑`encrypt_version.hex`,可以创建一个临时文件,然后替换内容后再覆盖原文件。这通常通过`type`、`for /f`遍历每一行,并使用`echo`指令替换字符:
```batch
(
for /f "tokens=*" %%a in (encrypt_version.hex) do (
set line=%%a
set line=!line:A=F!
set line=!line:B=E!
set line=!line:C=D!
echo !line!
) > temp.txt
)
```
上面的代码会把临时文件`temp.txt`的内容(已替换字符后的行)写回`encrypt_version.hex`。
3. 最后,确保替换完成后删除临时文件:
```batch
del temp.txt
```
完整脚本示例:
```batch
@echo off
copy versionA.hex encrypt_version.hex
(
for /f "tokens=*" %%a in (encrypt_version.hex) do (
set line=%%a
set line=!line:A=F!
set line=!line:B=E!
set line=!line:C=D!
echo !line!
) > temp.txt
)
del temp.txt
```
请注意,这个脚本会在当前目录下运行,如果需要在特定路径操作文件,你需要提供完整的文件路径。此外,为了防止意外覆盖,建议备份原始文件。
阅读全文