bat脚本 去除指定文本 并替换自己
时间: 2024-05-08 13:22:27 浏览: 103
假设要去除文件中的所有 "target_text" 并替换成 "replacement_text",可以使用以下的 bat 脚本:
```
@echo off
setlocal enabledelayedexpansion
set target=target_text
set replacement=replacement_text
for /f "delims=" %%i in (input.txt) do (
set "line=%%i"
set "line=!line:%target%=%replacement%!"
echo !line! >> output.txt
)
```
其中 `set target` 和 `set replacement` 分别设置目标文本和替换文本。
这个脚本会读取 `input.txt` 文件中的每一行,将其中的 `target_text` 替换成 `replacement_text`,并写入到 `output.txt` 文件中。如果不需要输出到文件,可以将 `echo !line! >> output.txt` 改为 `echo !line!`。
相关问题
bat脚本 去除 txt 中相同的文本
可以使用以下的脚本来去除 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中,如何去除字符串中的双引号
在批处理(BAT)脚本中,由于双引号会被解释为命令行字符串的一部分,因此直接去除可能会导致语法错误。如果你想保留包含双引号的字符串作为文本,可以尝试将它们转义为`\`后跟一个双引号,如 `\"`。如果你确实需要去掉字符串中的所有双引号,可以使用一些替换操作。
例如,你可以创建一个新的变量,使用`SET`命令配合`FOR /F`循环来逐字符检查并替换双引号:
```bat
@echo off
set "originalString=这是一个带 \" 双引号 的字符串"
set "newString="
for %%i in (%originalString%) do (
if "%%i"=="\"" set "newString=!newString!^""
else set "newString=!newString!%%i"
)
echo 新的字符串是: %newString%
```
这里我们用`^"`作为转义字符,但请注意这仅适用于单次替换操作,并且如果原始字符串中有连续的双引号,结果可能会不符合预期。如果你需要更复杂的文本处理,可能需要使用第三方工具或PowerShell脚本。
阅读全文