在批处理脚本中替换文件中的文本
作者:迹忆客
最近更新:2023/08/12
浏览次数:
在本文中,我们将介绍一些替换文件中文本的方法。 我们将看到两种不同的方式。
我们的第一种方法仅包含用于执行任务的批处理脚本,第二种方法通过 Windows PowerShell 提供解决方案。
假设我们有一个包含以下内容的文本文件。
Test.txt:
This is text that is saved in a text file. This is an update. ,,,,,,,,,,,,
我们将用空字符替换这些命令。
使用批处理脚本替换文件中的文本
批处理脚本:
@echo off
FOR /f "tokens=*" %%s IN (Test.txt) DO (
SET Texts=%%s
)
set Texts=%Texts:,=%
FOR /F "tokens=* delims=" %%x IN (Test.txt) DO SET text=%%x
ECHO %Texts% > "G:\BATCH\Test.txt" :: the path location of the txt file
我们首先使用 FOR /f "tokens=*" %%s IN (Test.txt) DO (
行读取文件,然后通过 SET Texts=%%s
行,我们用文件的文本初始化一个字符串变量 . 我们通过 set Texts=%Texts:,=%
行将每个逗号替换为空字符。
最后,我们再次将文本放入文件中。 当我们运行上面的代码时,我们将看到下面的文件内容发生变化。
This is text that is saved in a text file. This is an update.
使用 Windows PowerShell 替换文件中的文本
此方法也将提供与我们之前的方法相同的结果。 在此方法中,我们在批处理脚本中使用了 PowerShell。 此方法的示例代码如下所示,
powershell -Command "(gc Test.txt) -replace ',', '' | Out-File -encoding ASCII Test.txt"
当我们运行代码时,我们将在下面看到文件内容的更改。
This is text that is saved in a text file. This is an update.
请记住,我们此处讨论的命令仅适用于 Windows 命令提示符或 CMD 环境。