今、CSVファイルがあります。

CSVファイル名をカラムの先頭列に挿入する形で記載したいです。(全レコードに対して)

このように加工したいCSVファイルは約1000あります。
簡単に実施できる方法がありましたらご教授ください。
どうぞよろしくお願い致します。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/02/06 09:23:39
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:TransFreeBSD No.1

回答回数668ベストアンサー獲得回数268

ポイント100pt

環境が分からないので一つはwsh。以下を適当なファイル名+".vbs"で保存してダブルクリック。
ただしテストはしてない。バックアップを忘れないでね。

Option Explicit

Dim folder, file
' "C:\work"を対象ファイルのフォルダ名に変えてください
Set folder = WScript.CreateObject("Scripting.FileSystemObject").GetFolder("C:\work")

For Each file In folder.Files
    Dim filename, st_new, st_org
    ' 既存のファイルの名前を変更
    filename = file.Name
    file.Name = filename & ".org" ' 確かこれであってたはず
    ' 新しいファイルを作って書き出す
    Set st_new = folder.CreateTextFile(filename) 
    Set st_org = file.OpenAsTextStream(1)
    Do While st_org.AtEndOfStream <> True
        st_new.WriteLine  = filename & "," & st_org.ReadLine
    Loop
    st_org.Close
    st_new.Close
Next

perlが使えるならこっちが簡単。

cd work
perl -p -i.org -e '$_="$ARGV,$_"' *
他1件のコメントを見る
id:TransFreeBSD

すみません。ポカしてました。下記上16行目を下の様に変えてください。

        st_new.WriteLine  = filename & "," & st_org.ReadLine
        st_new.WriteLine(filename & "," & st_org.ReadLine)
2012/02/05 21:59:49
id:miku1973

完璧でした!
非常に困っていたのですが、完全解決できました。
今後も似たような質問をするかもしれませんが、その際はどうぞよろしくお願い致します。

2012/02/06 09:23:16

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません