用批处理文件替换文本文件中的字符

时间:2009-10-01 13:46:11

标签: batch-file

有没有办法用批处理文件替换文本文件中的某些字符?

我没有找到任何命令来做到这一点。

7 个答案:

答案 0 :(得分:4)

快速回答是“不,不是基本的Windows实用程序”

但正如其他答案所暗示的那样,有很多unix端口可以满足您的需求。请gnuwin32 packages

修改

好的,我修改了严格的“不”。可能有一种方法可以实现,具体取决于任务和操作系统的复杂程度。使用Windows 2000及更高版本时,cmd提供了可以使用的命令扩展名。

基本思想是使用FOR循环遍历输入文件的每一行,然后使用SET命令提供的字符串替换来替换你的字符。

我手边没有任何解决方案,但您可以尝试自己使用来自this相当酷的网站的信息。查看here表示FOR循环语法,here表示字符串替换。

答案 1 :(得分:1)

你可以安装unxutils然后再做

sed "s/WORD_FROM/WORD_TO/" file_name > changed.file.name

改变单词 或

cat file|tr "a" "b"  > changed.file.name

更改字符

答案 2 :(得分:1)

使用sed或no:

sed -i 's/FROM/TO/g' filename.txt

可以为各种平台下载here

答案 3 :(得分:1)

您必须使用WIN32 SED并查看官方gnu sed页面以获取解释。它非常强大:

> sed "s/WORD_FROM/WORD_TO/" file_name > changed.file.name

答案 4 :(得分:0)

您可以搜索GREP等命令行程序,您可以从批处理中调用替换字符串和文件并为您进行交换。

答案 5 :(得分:0)

您可以使用Unix命令行实用程序“tr”的DOS端口。

一个免费的DOS端口可以是found here,其中一个我喜欢的(有许多不同的端口)是“UXUTL - DOS的命令行Unix实用程序的综合集合。”

好处是你得到了一个非常有用的命令,而不仅仅是tr。

答案 6 :(得分:0)

即使这个问题很老,未来的读者也许有兴趣知道如果你想要一个没有依赖关系的小exe只替换文本我建议使用FART