【发布时间】:2017-12-02 03:23:19
【问题描述】:
我有一个文件 (file.txt) 只包含一行(我已将所有行连接为一个)。 所以我有以下行:
85;048;048;057;048;055; 045 ;84;048;048;057;055;055
我想要包含由
分隔的每个数字的 ASCII 转换的 file.txt;
所以 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%
)
有什么想法吗?
【问题讨论】:
-
根据您预期的 txt 文件输出
U00907 - T00977,您可能需要添加额外的逻辑来防止出现U00907-T00977结果。该序列完全忽略了您应该包含在您的行中的空格。 前面的 0 没有任何区别,因此您的文本行应与此类似:85;048;048;057;048;055;32;045;32;84;048;048;057;055;055 -
@compo : Observation1: 在示例数据中,
045两侧有两个空格字符 - 也许这些是字面意思(无论这是否是空格独有的 - 我的水晶球有点雾...观察2:有一个数据元素048。需要我提醒你*八进制*效果吗? -
@Magoo,在问题正文的原始版本和编辑版本中,
045两侧似乎只有一个空格。我的评论不是试图回答,只是源数据更正。 -
@compo:是的 - 有两个空格 -
045的每一侧都有一个空格。我可能 - 好吧,没有“可能” - 在那里模棱两可。有趣的是,048在exit语句中not 被解释为八进制,事实上,分配给 errorlevel 的值在所有情况下都显示为十进制 - 无论前导如何0。书籍的另一个怪癖。
标签: file batch-file text ascii data-conversion