人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBScriptによるWSHを私の代わりに作成してください。

テキストファイルの1行目を読み込み(変数格納)、読み終わったら1行目は削除してテキストファイルを上書き保存してください。


以下は処理前のテキストイメージ
====テキストの内容ここから=====
ほげほげ(1行目)
ぬるぽ(2行目)
ガッ(3行目)
====テキストの内容ここまで=====

以下は処理実行後のテキストイメージ
====テキストの内容ここから=====
ぬるぽ(2行目)
ガッ(3行目)
====テキストの内容ここまで=====

●質問者: hoge-comic
●カテゴリ:コンピュータ インターネット
✍キーワード:VBScript WSH ぬるぽ ほげほげ イメージ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● cx20
●100ポイント ベストアンサー

ファイルの先頭行を削除するだけで良いのでしょうか?

以下、サンプルです。ファイル名を引数で渡すようにしてみました。

Option Explicit

' File Name : RemoveTopLine.vbs
' Usage : CScript RemoveTopLine.vbs /I:<Input File> [/O:<Output File>]
' Example : CScript RemoveTopLine.vbs /I:hoge.txt 

Const ForReading = 1 
Const ForWriting = 2 

Call Main()

Sub Main()
  ' 入力パラメータのチェック
 If Not CheckParam( WScript.Arguments ) Then
 Call ShowHelp()
 Exit Sub
 End If
 
  ' 入力ファイル名、出力ファイル名を取得
 Dim strInFile
 strInFile = GetParamByName( WScript.Arguments, "I", "" )
 Dim strOutFile
 strOutFile = GetParamByName( WScript.Arguments, "O", strInFile )
 
 Dim fso
 Set fso = CreateObject("Scripting.FileSystemObject") 

 Dim inFile
 Set inFile = fso.OpenTextFile( strInFile, ForReading ) 
 
  ' ファイルの内容を変数にすべて読み込み
 Dim strContents
 strContents = inFile.ReadAll 
 inFile.Close 
 
  ' ファイルの内容を配列に変換
 Dim arrLines
 arrLines = Split( strContents, vbCrLf ) 
 
 Dim outFile
 Set outFile = fso.OpenTextFile( strOutFile, ForWriting, True )
  ' 1行目を飛ばして出力ファイルに書き込み
 Dim i
 For i = 1 to UBound(arrLines)
 outFile.WriteLine arrLines(i) ' 指定行(i)を取得して書き込み
 Next 
 outFile.Close
End Sub

Function CheckParam( objArgs )
 Dim bResult
 bResult = True
 If Not objArgs.Named.Exists("I") Then
 bResult = False
 End If

 CheckParam = bResult
End Function

Sub ShowHelp()
 WScript.Echo "Usage : CScript RemoveTopLine.vbs /I:<Input File> [/O:<Output File>]"
End Sub

Function GetParamByName( objArgs, strName, strDefaultValue )
 Dim strResult
 If objArgs.Named.Exists( strName ) Then
 strResult = objArgs.Named.Item( strName )
 Else
 strResult = strDefaultValue
 End If
 GetParamByName = strResult
End Function
■ Hey, Scripting Guy! テキスト ファイルの最終行だけを削除する方法はありますか
http://www.microsoft.com/japan/technet/scriptcenter/resources/qa...
■ Hey, Scripting Guy! テキスト ファイルのすべての空白行を削除する方法はありますか
http://www.microsoft.com/japan/technet/scriptcenter/resources/qa...
◎質問者からの返答

GOODです!

素敵です!

サブルーチンになってて最高です!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ