-1

我现在有 2 周时间忙于寻找一个好的剧本。当我以为我找到了我的剧本时,这里的事情发生了变化。我需要这个脚本,它对我很重要。我希望有人能帮助我。

每天都会下载一个带有日期的变量文件名。

昨天的示例文件:currency1.20121205

现在我运行一个bat文件:ren C:\blp\bbdl\_csv\* *?.csv

文件名现在是currency1.20121204.csv

2件事必须发生:

  1. 更改文件内的文本:EUR to USD
  2. 在末尾添加文本(我已经找到了一个脚本,但一开始就不能使用 EUR)

要添加的文本:EUR CMPN 货币|0|4|EUR||复合(纽约)|1.00000|

我在互联网上看到的是大多数脚本都会更改文件名,但这必须保持不变。

4

1 回答 1

0

批量你可以尝试这样的事情:

setlocal EnableDelayedExpansion

cd C:\blp\bbdl\_csv

for %%f in (*) do (
  set file=%%f
  for /f %%l in (!file!) do (
    set line=%%l
    echo !line:EUR=USD! >> "!file!.csv"
  )
  echo EUR CMPN Curncy^|0^|4^|EUR^|^|Composite(NY)^|1.00000^| >> "!file!.csv"
)

endlocal

不过,用 VBScript 做起来会更容易:

Set fso = CreateObject("Scripting.FileSystemObject")

For Each f In fso.GetFolder("C:\blp\bbdl\_csv").Files
  text = f.OpenAsTextStream().ReadAll
  Set f2 = fso.OpenTextFile(f.Path & ".csv", 2, True)
  f2.WriteLine Replace(text, "EUR", "USD")
  f2.WriteLine "EUR CMPN Curncy|0|4|EUR||Composite(NY)|1.00000|"
  f2.Close
Next

这两个代码片段都在我的脑海中,所以没有经过测试。

于 2012-12-05T21:27:52.897 回答