gpt4 book ai didi

windows - 替换 Windows 批处理中的符号或换行符

转载 作者:可可西里 更新时间:2023-11-01 10:45:17 51 4
gpt4 key购买 nike

我找到了一个批处理脚本,可以将一个字符串更改为另一个字符串。

下面的批处理脚本将 test.txt 中的每个 'bath' 更改为 'hello'

@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=test.txt set OUTTEXTFILE=test_out.txt
set SEARCHTEXT=bath
set REPLACETEXT=hello

set OUTPUTLINE=

for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!

echo !modified! >> %OUTTEXTFILE%
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%

(从 How to replace substrings in windows batch file 复制)

但我想做的是将test.txt中的每一个'△▽'都改成'newline and xy'例如,如果 test.txt 是

abc△▽def

那么结果应该是

abc
xydef

在解决这个问题之前,我尝试了一个看起来更简单的问题:将每个 '△▽' 更改为 'xy'。但是这个看似简单的问题在我看来更难。我只是简单地将上述脚本中的 bath 更改为 △▽,并将 hello 更改为 xy。然后脚本不起作用。我猜的原因是——因为△、▽是符号。

你能教我如何在引用的批处理脚本中表达符号或换行符、制表符吗?

最佳答案

WHITE UP-POINTS TRIANGLE 使用 3 个字节的 UTF-8 编码,十六进制代码值为 E2 96 B3WHITE DOWN-POINTS TRIANGLE E2 96 BD

How can you find and replace text in a file using the Windows command-line environment?包含几个答案以及有关如何使用控制台应用程序或什至仅使用 Windows 标准命令以批处理模式替换字符串的建议。

我最喜欢的此类替换工具是 Clay's Utilities for Win32 中的 Xchang32.exe

重要说明 Clay Ruth,Xchang32.exe 的作者和域 clayruth.com 的所有者多年前去世。因此,尽管根据 ZIP 文件中的自述文件明确允许免费分发此包,但万维网上不再提供带有此工具的 ZIP 文件。

此控制台应用程序逐字节替换字节,因此可用于任何文件类型、二进制文件以及任何编码的文本文件。

此工具具有以下参数,可根据需要进行替换。

xchang32.exe Test.txt "^xE2^x96^xB3^xE2^x96^xBD" "^x0D^x0Axy"

所有的△▽都被回车(0D)和换行(0A)和文件Test.txt<中的字符xy代替。如果文件 Test.txt 是一个仅使用换行符作为行终止符的 UNIX 文件,请从替换字符串中删除 ^x0D

当然,同样的替换也可以用像 UltraEdit 这样的支持 UTF-8 的文本编辑器来完成,它甚至有一个 Replace in Files 命令能够替换所有文件中的 UTF-8 编码字符串文件夹或文件夹树。

关于windows - 替换 Windows 批处理中的符号或换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29318261/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com