お世話になっております。
Vbsを使用して以下のことを実施したいと思っております。
■実施したいとこ
あるフォルダの中にある「.dat」ファイル(複数あります)をテキストファイルに書き込みを行いたい。
■例
Aフォルダの中にB.dat、c.dat、e.datとファイルがあります。
この3つのファイルをF.txtに書き込みを実施したいと思っております。
以下を使用してファイル一覧を取り込むのはみつけたのですが
DIR関数がVBSでは使用できませんでした。
strDirName = Con_FolderName & "\*.dat"
f_logfile = Dir(strDirName)
よろしくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
以下、サンプルです。
Dim FSO, LGF
Dim FLO, PTH, DAT
Set FSO = CreateObject("Scripting.FileSystemObject")
' 出力ファイルを開く。上段:上書き/下段:追加書き込み
Set LGF = FSO.CreateTextFile("C:\DATA\F.txt")
'Set LGF = FSO.OpenTextFile("C:\DATA\F.txt", 8, True)
' フォルダ内のファイルを取得するループ
For Each FLO In FSO.GetFolder("C:\DATA").Files
' ファイルのパス名を取得
PTH = FLO.Path
' パス名の右4文字が".dat"なら対象とする
If Right(PTH, 4) = ".dat" Then
' 入力ファイルを開く
Set DAT = FSO.OpenTextFile(PTH, 1)
' EOFまでのループ
Do Until DAT.AtEndOfStream
' 1行ずつの入出力
LGF.WriteLine DAT.ReadLine
Loop
' 入力ファイルを閉じる
Dat.Close
End If
Next
' 出力ファイルを閉じる
LGF.Close
No.2
- 回答日時:
VBSの場合は、下記のように
Set objFS = CreateObject("Scripting.FileSystemObject")
if objFS.FileExists(strDirName) then
'
end if
先日のひとつ質問ですが、参考になると思います。
http://okwave.jp/qa4033499.html
この回答への補足
参考の質問を元に作成してみました。
動作がまだうまくとれないのですが修正する箇所など
教えていただけたら助かります。
---------------------------------------------------------------
'フォルダ内のファイルを読み込み
Set fldr = fso.GetFolder("c:data")
Set l = fldr.OpenAsTextStream(8, -2)
Do While l <> ""
'ログ書き込み
Set logFile = fso.GetFile(FileA)'ログファイル名
Set f = logFile.OpenAsTextStream(8, -2)'ファイルを開き読み込み
Set objFS = CreateObject("Scripting.FileSystemObject")
If (objFS.FileExists(FileB)) Then
Set objFile = objFS.GetFile(FileB)
if objFile.Size > 0 then
Set objFile = Nothing
Set objText = objFS.OpenTextFile(FileB)
myText = objText.ReadAll
f.Write(myText & vbNewLine)
f.close
else
End if
Set objFile = Nothing
End if
Loop
No.1
- 回答日時:
VBSはVBAと微妙に違います。
http://msdn.microsoft.com/ja-jp/library/cc392489 …
フォルダ内のファイルを取得するには二通りの方法があります。
一つはFileSystemObjectを使う方法です。
GetFolderでフォルダを取得し、この中のFilesプロパティからファイルを得ます。
http://msdn.microsoft.com/ja-jp/library/cc409798 …
http://msdn.microsoft.com/ja-jp/library/cc428024 …
http://msdn.microsoft.com/ja-jp/library/cc428109 …
もう一つはShellオブジェクトからNamespaceメソッドでフォルダを
取得する方法です。
http://homepage3.nifty.com/aya_js/wsh/wsh25.htm
後者は特殊なフォルダやFTP経由のフォルダ等も取得できますが、
一般ファイルでは前者の方が普通です。
但し、ワイルドカード使って、.datのファイルだけという訳には
いかないので、最後が".dat"であるものを探します。
Right関数でもよいのですが、正規表現オブジェクトを使うと、
後々、応用が利きます。
http://msdn.microsoft.com/ja-jp/library/cc392403 …
http://msdn.microsoft.com/ja-jp/library/cc392020 …
http://msdn.microsoft.com/ja-jp/library/cc392438 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
【vbs】ファイル名の検索と該当ファイルの削除について
その他(プログラミング・Web制作)
-
vbsのFolderExistsで部分一致をさせたい
その他(プログラミング・Web制作)
-
vbsファイルでのワイルドカード
その他(コンピューター・テクノロジー)
-
-
4
VBS パスに変数を入れたい
その他(プログラミング・Web制作)
-
5
VBSで特定の文字列が含まれる場合の処理方法
その他(プログラミング・Web制作)
-
6
VBS フォルダ内にあるすべてのファイルを検索→ファイルが特定のファイルなら開く
その他(プログラミング・Web制作)
-
7
VBScript フォルダ以下からファイルの検索、コピー
その他(プログラミング・Web制作)
-
8
VBScript(vbs)での行の取得について
その他(プログラミング・Web制作)
-
9
VBSで作成したフォルダにファイルをコピー出来ない
Visual Basic(VBA)
-
10
VBScriptで、ファイルから任意の行のみ取り出す方法について
その他(プログラミング・Web制作)
-
11
vbsからのExcelマクロ呼び出しの際に保存ダイアログが表示されてしまう
その他(プログラミング・Web制作)
-
12
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
13
VBSでファイルを開く
Visual Basic(VBA)
-
14
VBS Bookを閉じるコード
Visual Basic(VBA)
-
15
VBScriptでコマンドプロンプトウィンドウを開いたままにしたいです
その他(プログラミング・Web制作)
-
16
VBScriptでExcel(2019)上のデータ並び替え
Ruby
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Wordのプロパティ・総ページ数...
-
EXCEL VBA tif画像のプロパティ...
-
フォルダ階層・ファイル名・ペ...
-
VBA ディレクトリ名をワイルド...
-
vbsでのアスタリスクとファイル...
-
VB.NETで.xlsファイル読み取り
-
コモンダイアログでフォルダを...
-
ファイルのアクセス回数について
-
エクセルで複数のコメントのサ...
-
カンマ区切りのCSVファイルから...
-
カレントフォルダって?
-
Delphiによるファイルのコピー
-
バッチでCSVを処理する時、空の...
-
Wordで差込印刷した後に別々の...
-
エクセルのプロパティーでセキ...
-
VBAでの共有パスにつきまして
-
Dreamweaverでイメージを挿入す...
-
エクセルのマクロで特定フォル...
-
会社のネットワーク上のファイ...
-
Windows10でコマンドプロンプト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
動かなくなってしまった古いVBA...
-
vbs ブック共有を解除
-
サブフォルダ含むフォルダ内の...
-
ExcelVBA 文字コード変換
-
Accessのウインドウサイズの固定
-
FileDialog オブジェクトでファ...
-
「エクセルファイルが開いてい...
-
vbsでのアスタリスクとファイル...
-
VB6でUTF-8ファイルの読取りを
-
ffftpでファイル取得が0バイト...
-
excel マクロ PDF化の際のエラ...
-
VBAでフォルダ内のhtmlファイル...
-
エクセルのVBAで開いている...
-
ファイルを開く時間測定のスク...
-
Long型で表現できないファイル...
-
複数のワークブックのVBAを変更...
-
VBからExcelファイルを開くとき...
-
【ACCESS VBA】アクセスからデ...
-
VBA、ファイル名検索から開く、...
おすすめ情報