お世話になっております。
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で質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxについて質問です。 以下のような設定をしたMakefileを作成するにはどう記述すればよい 1 2023/02/03 20:10
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) VBA GetAttrについて教えてください 2 2022/12/22 15:25
- Visual Basic(VBA) Excel VBA ファイル取得について フォルダの中に、ファイル名“会議“を含むファイルが1つまた 9 2022/10/12 01:18
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
vbsのFolderExistsで部分一致をさせたい
その他(プログラミング・Web制作)
-
【vbs】ファイル名の検索と該当ファイルの削除について
その他(プログラミング・Web制作)
-
vbsファイルでのワイルドカード
その他(コンピューター・テクノロジー)
-
-
4
VBS パスに変数を入れたい
その他(プログラミング・Web制作)
-
5
VBSで特定の文字列が含まれる場合の処理方法
その他(プログラミング・Web制作)
-
6
VBScript(vbs)での行の取得について
その他(プログラミング・Web制作)
-
7
vbsでテキストファイル内の文字列検索
Visual Basic(VBA)
-
8
VBSでファイルを開く
Visual Basic(VBA)
-
9
ワイルドカード「*」を使うとうまくいかないマクロの添削をお願いします
Visual Basic(VBA)
-
10
VBS フォルダ内にあるすべてのファイルを検索→ファイルが特定のファイルなら開く
その他(プログラミング・Web制作)
-
11
VBScriptでSQLファイルの実行
その他(プログラミング・Web制作)
-
12
VBSでExcelシートのコピー
Visual Basic(VBA)
-
13
VBScript フォルダ以下からファイルの検索、コピー
その他(プログラミング・Web制作)
-
14
VBScriptで外部プログラム実行中に「処理中」のダイアログボックスを表示したい
その他(プログラミング・Web制作)
-
15
VBSで作成したフォルダにファイルをコピー出来ない
Visual Basic(VBA)
-
16
バッチコマンドでファイル名の一部を参照して削除
その他(プログラミング・Web制作)
-
17
バッチファイル 二つ上のディレクトリのパス取得
その他(プログラミング・Web制作)
-
18
vbsでExcelのシートをコピーするには
その他(プログラミング・Web制作)
-
19
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
20
VBSでファイルを指定のフォルダに保存
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでフォルダ内のhtmlファイル...
-
FileDialog オブジェクトでファ...
-
VB6でUTF-8ファイルの読取りを
-
vbaサブフォルダーをワイルドカ...
-
visual studioでフォームデザイ...
-
iniファイルへの追記について
-
Accessのウインドウサイズの固定
-
動かなくなってしまった古いVBA...
-
Long型で表現できないファイル...
-
Excelファイルが存在するPC名が...
-
VBA ファイル名取得
-
excel マクロ PDF化の際のエラ...
-
サブフォルダ含むフォルダ内の...
-
VBA、ファイル名検索から開く、...
-
inetコントロールを使用したFTP...
-
マクロのワイルドカードの使い...
-
ExcelVBA 文字コード変換
-
VBA:ファイルプロパティの一部...
-
Excel97のVBAでコモンダイアロ...
-
Visual C++ 2008 (Win32)を使っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
動かなくなってしまった古いVBA...
-
ffftpでファイル取得が0バイト...
-
FileDialog オブジェクトでファ...
-
サブフォルダ含むフォルダ内の...
-
「エクセルファイルが開いてい...
-
Accessのウインドウサイズの固定
-
excel マクロ PDF化の際のエラ...
-
ExcelVBA 文字コード変換
-
AccessからOLEオブジェクト型の...
-
VBAでフォルダ内のhtmlファイル...
-
【VBAマクロ初心者】Excel VBA...
-
VBからExcelファイルを開くとき...
-
「AccessViolationException」...
-
【ACCESS VBA】アクセスからデ...
-
VB6でUTF-8ファイルの読取りを
-
ファイルを開く時間測定のスク...
-
複数のワークブックのVBAを変更...
-
VB.net XMLの作成方法 Iniの代替
-
エクセルのVBAで開いている...
おすすめ情報