dポイントプレゼントキャンペーン実施中!

VBSで既存のテキストファイル(カンマ区切り)の2行目から最終行を
別のテキストファイルへ出力したいです。

よろしくお願いします。

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (3件)

ファイル名をプログラム中で指定せずにリダイレクトでやるなら簡単です。



WScript.STDIN.ReadLine '1行目読み飛ばし
Do Until WScript.STDIN.AtEndOfStream '最後まで
WScript.STDOUT.WriteLine WScript.STDIN.ReadLine '読んで書く
Loop

使い方は、コマンドプロンプトかBATファイルか、PowerShellで、
cscript 上記ファイル名.vbs < 入力ファイル名 > 出力ファイル名


「カレントディレクトリーとは何か」を人に説明できるレベルで理解していない場合は、全てのファイル名はフルパス(C:\やD:\などで始まるパス)で。
    • good
    • 0

以下のスクリプトを作成し、実行してください。


尚、先頭の2行の
infile = "D:\goo\vbs\INPUT.csv"
outfile = "D:\goo\vbs\OUTPUT.csv"
は、infileが入力ファイル名で、outfileが出力ファイル名になります。
あなたの環境にあわせて、適切に設定してください。

--------------------------------------------------
infile = "D:\goo\vbs\INPUT.csv"
outfile = "D:\goo\vbs\OUTPUT.csv"
call MyCopy(infile,outfile)

Sub MyCopy(infile,outfile)
Dim objFS
Dim objInTextStream
Dim objOutTextStream
dim text
dim fctr
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objInTextStream = objFS.OpenTextFile(infile, 1)
Set objOutTextStream = objFS.CreateTextFile(outfile, True)
fctr = 0
Do While objInTextStream.AtEndOfStream <> True
text = objInTextStream.ReadLine
fctr = fctr + 1
If fctr > 1 Then
objOutTextStream.WriteLine(text)
End If
loop
objInTextStream.Close
objOutTextStream.Close
End Sub
    • good
    • 0

こんにちは



普通に需要がありそうなご質問なので、検索すれば出てくるのではないでしょうか?

以下一例(余分な機能が付いていますけれど・・)
https://aki.p-kin.net/vbscript/csv%E3%83%95%E3%8 …
    • good
    • 0
この回答へのお礼

ありがとう

お礼日時:2024/06/26 10:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A