-1

私は今、良いスクリプトを見つけるのに 2 週間忙しくしています。スクリプトを見つけたと思ったとき、ここで仕事が変わりました。このスクリプトが必要です。これは私にとって重要です。誰かが私を助けてくれることを願っています。

毎日、可変ファイル名が日付とともにダウンロードされます。

昨日のサンプルファイル: currency1.20121205

今、私はバットファイルを実行します:ren C:\blp\bbdl\_csv\* *?.csv

ファイル名はcurrency1.20121204.csvになりました

2 つのことが発生する必要があります。

  1. ファイル内のテキストの変更: EUR から USD
  2. 最後にテキストを追加する (このためのスクリプトを見つけましたが、最初の EUR では機能しません)

追加するテキスト: EUR CMPN 通貨|0|4|EUR||コンポジット(NY)|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 に答える