用批处理提取.txt文本中的指定内容
时间: 2024-05-15 07:16:56 浏览: 15
假设我们要从一个.txt文件中提取出所有包含“apple”的行,可以使用以下批处理代码:
```batch
@echo off
setlocal enabledelayedexpansion
set search=apple
set file=input.txt
set output=output.txt
del %output%
for /f "tokens=* delims=" %%a in (%file%) do (
set line=%%a
if "!line:%search%=!" neq "!line!" (
echo !line!>> %output%
)
)
```
以上代码的解释如下:
1. `@echo off`:关闭命令行窗口中的回显。
2. `setlocal enabledelayedexpansion`:启用延迟扩展,以便我们在for循环中使用变量。
3. `set search=apple`:设置要查找的关键词。
4. `set file=input.txt`:设置输入文件的路径。
5. `set output=output.txt`:设置输出文件的路径。
6. `del %output%`:删除输出文件,以便我们可以重新创建它。
7. `for /f "tokens=* delims=" %%a in (%file%) do (...)`:对输入文件中的每一行执行循环。
8. `set line=%%a`:将当前行存储在变量“line”中。
9. `if "!line:%search%=!" neq "!line!" (...)`:检查当前行是否包含关键词。这里使用了字符串替换函数,将所有关键词替换为空字符串,然后比较替换前后的字符串是否相等。如果不相等,说明当前行包含关键词。
10. `echo !line!>> %output%`:将包含关键词的行写入输出文件中。注意,我们在循环中使用了延迟扩展,以便在每次迭代中更新变量“line”。
以上代码运行后,会在输出文件中生成所有包含“apple”的行。你可以根据需要修改关键词、输入文件和输出文件的路径。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![bat](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)