根据特定位置

时间:2015-09-18 11:13:16

标签: batch-file text replace

我有一组文本文件,通过FTP传入。一旦他们在我想要根据另一个位置的值替换位置的值。我可以用Windows命令脚本来帮助这个吗?

例如,文本文件包含以下内容;

-0000000062,790BCEUR

-0000000000,000

-0000000119,800BCEUR

-0000001352,560BCEUR

根据该值,如果高于999,999,则应将BCEUR值替换为C____,如果不高于999,999,则应将BCEUR替换为SCEUR。如果值为0,那么就不应该有任何东西,这已经是这种情况了。 '简单'我认为将检查位置7上的值是0还是不是0,然后用适用的值替换BCEUR。

有人有什么好主意吗?我不是一个真正的程序员,所以我在努力解决这个问题。

1 个答案:

答案 0 :(得分:0)

这似乎有效 - 删除空行。

@echo off
setlocal enabledelayedexpansion
(
for /f "usebackq delims=" %%a in ("c:\folder\file.txt") do (
  set "var=%%a"
  if "!var:~0,15!"=="-0000000000,000" (
      echo -0000000000,000
    ) else (
      if "!var:~0,8!"=="-0000000" (echo !var:~0,15!SCEUR) else (echo !var:~0,15!C____)
  )
)
)>"outputfile.txt"
pause