批处理 - 将文本文件中的一行从整数转换为 ascii
Batch - Convert a line in a text file from integer to ascii
我有一个文件 (file.txt) 只包含一行(我已将所有行连接成一个)。
所以我有以下行:
85;048;048;057;048;055; 045 ;84;048;048;057;055;055
我希望 file.txt 包含由
分隔的每个数字的 ASCII 转换
;
所以 file.txt 应该包含:
U00907 - T00977
我试过循环但它真的不起作用:
set content=
for /f "delims=;" %%i in (file.txt) do (
cmd /c exit %%i
Set "char=!=ExitCodeAscii!"
set content=%content% %char%
)
有什么想法吗?
一些小的逻辑错误:使用 delims=;
你只需要第一个标记 85
而忽略其余的。您需要一个循环来获取 file.txt
的每一行,并需要另一个循环来处理每一行中的标记(一个简单的 for
没有 /f
)。而你需要 .
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (file.txt) do (
set content=
for %%a in (%%i) do (
cmd /c exit %%a
Set "char=!=ExitCodeAscii!"
set content=!content!!char!
)
echo !content:-= - !
)
如果您确定 file.txt
只包含一行(或者您不关心其余部分),您可以将第一个 for /f
循环替换为 <file.txt set /p string=
并处理
for %%a in (%string%) do (
我有一个文件 (file.txt) 只包含一行(我已将所有行连接成一个)。 所以我有以下行:
85;048;048;057;048;055; 045 ;84;048;048;057;055;055
我希望 file.txt 包含由
分隔的每个数字的 ASCII 转换;
所以 file.txt 应该包含:
U00907 - T00977
我试过循环但它真的不起作用:
set content=
for /f "delims=;" %%i in (file.txt) do (
cmd /c exit %%i
Set "char=!=ExitCodeAscii!"
set content=%content% %char%
)
有什么想法吗?
一些小的逻辑错误:使用 delims=;
你只需要第一个标记 85
而忽略其余的。您需要一个循环来获取 file.txt
的每一行,并需要另一个循环来处理每一行中的标记(一个简单的 for
没有 /f
)。而你需要
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (file.txt) do (
set content=
for %%a in (%%i) do (
cmd /c exit %%a
Set "char=!=ExitCodeAscii!"
set content=!content!!char!
)
echo !content:-= - !
)
如果您确定 file.txt
只包含一行(或者您不关心其余部分),您可以将第一个 for /f
循环替换为 <file.txt set /p string=
并处理
for %%a in (%string%) do (