1

有没有办法在纯 .txt 文件中传输字符。

我在 .txt 文件中有很多条目,它们都是这种格式:

  • 1 = 示例,
  • 2 = 示例 2,
  • 3 = 示例 3...

我需要一个批处理文件来将“# =”传输到字符串的右侧。所以它看起来像这样:

  • 示例 = 1,
  • 示例 2 = 2...

使用 .bat 文件可以做到这一点吗?

4

3 回答 3

3

这将处理您拥有的多个单词Example...

@echo off 
for /f "tokens=1,* delims== " %%a in (input.txt) do >>output.txt echo %%b = %%a
于 2013-07-02T12:50:16.343 回答
2

如果您可以使用 GNU sed

sed "s/\(\S\+\)\s=\s\(\S\+\)/\2 = \1/" file
于 2013-07-02T17:05:03.500 回答
0

像这样的东西应该工作:

@echo off

pushd "C:\some\where"
for /f "tokens=1,2 delims==" %%a in (input.txt) do echo %%b = %%a
popd

或者使用它来消除空格:

@echo off

setlocal EnableDelayedExpansion

pushd "C:\some\where"
for /f "tokens=1,2 delims==" %%a in (input.txt) do (
  set "key=%%a"
  set "val=%%b"
  echo !val: =! = !key: =!
)
popd

要将输出保存到文件中,请像这样调用任一脚本:

switch.cmd >output.txt
于 2013-07-02T12:40:04.950 回答