小编wku*_*kup的帖子

批处理文件,用于读取带有特殊字符的txt并替换其中的单词

我正在尝试制作一个读取txt文件"ayylmao.txt"的批处理文件,并找到一个特定的单词"hello"并将其替换为"xello".

问题是"ayylmao.txt"包含特定字符.

Ayylmao.txt看起来像这样:

‹‹R‹?‹/M‹;?u‹????‹‹@‰‹‹@CëC;?u‹?q???‹‹@C‹D$‰;7u®‹Ó‹??ú???„?u3?‰YZ]_^[??@             SVWUÄ?‰$‹ô‹‰D$‹
‹‹@;?‚†   ‹?‹>_‹?z;ßrv;?u!‹B‹A‹B‹)B‹x uV‹?????ëM‹?‹>_‹?z;ßu
‹B‹)Bë3‹Z‰\$‹>‹‹.}+?‰|$+?‹‰H?T$‹?M???„?u3 hello ?ë°ë‹‹ ‰‹;D$…Y???3?Ä]_^[?SVW‹Ú‹??   }?   ë???  ?  ??‰sjh    Vj
Run Code Online (Sandbox Code Playgroud)

您可以在最后一行看到"hello"字样.我希望批处理进入该过程并给我一个看起来像这样的ayylmao1.txt:

‹‹R‹?‹/M‹;?u‹????‹‹@‰‹‹@CëC;?u‹?q???‹‹@C‹D$‰;7u®‹Ó‹??ú???„?u3?‰YZ]_^[??@             SVWUÄ?‰$‹ô‹‰D$‹
‹‹@;?‚†   ‹?‹>_‹?z;ßrv;?u!‹B‹A‹B‹)B‹x uV‹?????ëM‹?‹>_‹?z;ßu
‹B‹)Bë3‹Z‰\$‹>‹‹.}+?‰|$+?‹‰H?T$‹?M???„?u3 xello ?ë°ë‹‹ ‰‹;D$…Y???3?Ä]_^[?SVW‹Ú‹??   }?   ë???  ?  ??‰sjh    Vj
Run Code Online (Sandbox Code Playgroud)

你可以看到"你好"现在是"xello".

我发现这个批处理文件替换了文本文件中的单词:

@echo off
REM -- Prepare the Command Processor --
SETLOCAL ENABLEEXTENSIONS
SETLOCAL DISABLEDELAYEDEXPANSION

if "%~1"=="" findstr "^::" "%~f0"&GOTO:EOF
for /f "tokens=1,* delims=]" %%A in ('"type %3|find /n /v """') do (
    set "line=%%B"
    if defined line (
        call set "line=echo.%%line:%~1=%~2%%"
        for /f "delims=" %%X in ('"echo."%%line%%""') …
Run Code Online (Sandbox Code Playgroud)

windows powershell batch-file

3
推荐指数
1
解决办法
475
查看次数

标签 统计

batch-file ×1

powershell ×1

windows ×1