bat脚本 去除 txt 中相同的文本
时间: 2023-10-01 11:04:49 浏览: 140
可以使用以下的脚本来去除 txt 文件中相同的行:
```
@echo off
setlocal enabledelayedexpansion
set "input_file=input.txt"
set "output_file=output.txt"
rem Read input file and remove duplicate lines
for /f "usebackq delims=" %%a in ("%input_file%") do (
if not defined line[%%a] (
set "line[%%a]=1"
echo %%a>>"%output_file%"
)
)
```
将 `input.txt` 替换为你要去重的文本文件名,将 `output.txt` 替换为输出文件名。这个脚本会读取 `input.txt` 文件,去除其中的重复行,并将结果输出到 `output.txt` 文件中。
相关问题
bat脚本 去除指定文本
可以使用 Windows 自带的 findstr 命令来实现去除指定文本的功能。具体操作如下:
1. 打开记事本,输入以下命令:
```
type input.txt | findstr /v "指定文本" > output.txt
```
其中,input.txt 为需要去除指定文本的原始文本文件,"指定文本" 为要去除的文本内容,output.txt 为去除指定文本后生成的新文本文件。
2. 将上述命令保存为 .bat 文件,例如 remove_text.bat。
3. 将 input.txt 和 remove_text.bat 文件放在同一目录下。
4. 双击运行 remove_text.bat 文件,程序会自动执行去除指定文本的操作,并生成新的 output.txt 文件。
注意:如果原始文本文件中存在多个需要去除的文本内容,可以在 findstr 命令中使用多个 /v 参数来指定,例如:
```
type input.txt | findstr /v "文本1" /v "文本2" > output.txt
```
bat脚本去除TXT内行第一个空格之前的内容
假设你要处理的文本文件名为 input.txt,可以使用以下的 batch 脚本来去除每行第一个空格之前的内容:
```
@echo off
setlocal enabledelayedexpansion
set input=input.txt
set output=output.txt
if exist %output% del %output%
for /f "tokens=* delims=" %%a in (%input%) do (
set line=%%a
set first=!line: =!
echo !first!>>%output%
)
echo Done!
```
这个脚本中,首先定义了输入文件名和输出文件名,然后通过 for 循环逐行读取输入文件。对于每一行,在变量中去掉第一个空格之前的内容,然后将结果写入输出文件。最后输出一个 "Done!" 的消息表示处理完成。
阅读全文